首先宣告下,純粹是想看下ruby thread和native thread的差距,並無意貶低ruby.
測試結果嚇一跳,不是太快。和native thread相比,實在太慢。
**很簡單,每次啟動10個ruby thread,做100000次的累加。連續執行10次,求執行平均值。
我的工作機,pc 2.8g,單核。1g記憶體,windows xp。測試的時候也沒有特別清理執行環境,
最後的平均結果3.0937
[code]
time = 0
10.times do |k|
now = time.now
puts now.to_s
count = 0
threads =
10.times do |i|
threads[i] = thread.new do
#sleep(rand(0.1))
100000.times do |j|
count += j
endthread.current["mycount"] = count
endend
threads.each
puts "count = #"
later = time.now
time += later-now
puts later-now
endputs time/10[/code]
然後同樣的**用c++寫了乙份,執行時間都測試不出來,時間差值幾乎是0。幾乎程式剛剛啟動,執行就結束了。不像ruby**,還像模像樣的執行了段時間。
hoho。
sql count執行速度測試
最近做專案開發的時候要對資料庫裡面的資料數量進行統計使用,資料庫的大概有2000w多的資料。資料庫是mysql5.6 用的是遠端連線測試 elect count 執行語句 select count from t banlong push regdev 執行5次,平均耗時17.5s select co...
執行速度對比
2018 04 12 pyspark master spark node1 7077 num executors 100 executor memory 6g executor cores 5 driver memory 1g conf spark.default.parallelism 1000 ...
Mysql執行速度優化
1 create table t select from t old where 1 0 2 create table t like t old 3 create table t 其中 1 最快,但是它取消原來表的有些定義。自增字段 表引擎都變了,如果想要保持一樣的引擎,就在table名稱後邊加上 ...