2009/02/01

Ruby Mutex/thread.rb Imprementation


Rubyのthread.rbの実装がバージョンによりいろいろ違ってわかりにくいな。

Rubyのバージョンthread.rbsync.rbmutex_m.rbmonitor.rb
1.8.5_254より昔Pure RubyだけMutex不使用Mutex不使用Mutex不使用
1.8.5_254と1.8.6_xPure Ruby版とCで全部版両方。
Mutex不使用
Mutex不使用Mutex不使用
1.9.xMutexのみC。QueueとConditionalVariableはRubyでMutex使用。Mutex使用Mutex使用Mutex使用

Cで実装されたMutexを使うのと使わないのでは、どれだけ速度面で違いが出るんだろうか。あんまりでないんだろうか。

あと、1.8に限って言えばfastthreadとかもあるんだよね。1.8.6のいくつか以降から使うなとか。でも、eventmachineとかがまだ使っている様子なんだけどどうなんだろう。

Comments: コメントを投稿



<< Home

This page is powered by Blogger. Isn't yours?