RubyのThread
Thread
文字通りマルチスレッドを実現します。
RubyのThreadの使い方は、以下のブロックに実行したいコードを入れるだけです。
Thread.new do end
速度計測
まずはシングルスレッド
#bench1.rb 1000000.times do |i| 2 ** 10000 end
$ time ruby bench1.rb real 0m8.741s user 0m7.154s sys 0m0.058s
8秒かかりました。
次はThreadを使った場合です。
#bench2.rb Thread.new do 1000000.times do |i| 2 ** 10000 end end
$ time ruby bench2.rb real 0m0.124s user 0m0.072s sys 0m0.015s
0.1秒
速い・・・
Railsでの使用例参考
shirusu-ni-tarazu.hatenablog.jp
チューニングって楽しいですよね。