rubyスレッド運転速度テスト


詳細
まず、ruby threadとnative threadの差を見たいと宣言し、rubyをけなすつもりはない.
テストの結果はびっくりして、あまり速くありません.native threadと比べると、本当に遅いです.
コードは簡単で、ruby threadを10個起動するたびに100000回の累積をします.10回連続運転し、運転平均値を求める.
私のワークマシン、PC 2.8 G、シングルコア.1 Gメモリ、windows XP.テスト時も特に運転環境をクリーンアップしていませんが、
最後の平均結果3.0937

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
		end
		Thread.current["mycount"] = count
	end
end
	
	threads.each {|t| t.join; print t["mycount"], ", " }
	puts "count = #{count}"

later = Time.now
time += later-now
puts later-now
end
puts time/10

そして同じコードをC++で1部書いたが、実行時間はテストできず、時間差はほぼ0だった.ほぼプログラムが起動したばかりで、実行は終了しました.Rubyコードとは違って、しばらくはまともに動いていました.
HOHO.