きりかノート 3冊め

おあそびプログラミング

Macで--enable-pthreadしたRubyが遅い?

[ruby-list:45593] Mac OS X でコンパイルした Ruby は遅い?が気になったので調べてみた。

    • enable-pthreadしただけでそんなにちがうってのが納得いかなかったので。

getcontext()ちゅーか、その先のsigaltstack()とsigprocmask()が時間食ってるっぽい。
pthreadていう別のスレッド環境が入ると、Rubyとそっちで整合性とらないといけないから、pthread無しよりあれこれ手間が必要で結果的に遅くなっちゃうみたいな理解で良いのかなあ。計算機の勉強の経験がほとんどないから感覚がさっぱりだ。

手元にはMacしか無くて試せないけど、他の環境でも同様の傾向があるかはちょっと興味あるなあ。Macのucontext系関数が特別に遅くても不思議じゃないけど。