pypy-stmがリリースされたので、STMとGIL周り調べてた

家帰ったら読みなおすための備忘録。

pypyのSTMバージョンが初リリースしたので、その関連でSTMがなぜいるんだっけ?GIL-lessになると何がうれしいの?GILってそもそもなんだっけ?を再キャッチアップ。

以下まとめ。

STM

RubyのGVL(Global VM Lock or Giant VM Lock)

RubyではどうやらGILとは呼ばず、GVLと呼ぶらしい。そしてGVLもGlobal VM LockかGiant VM Lockのいずれかだぞうな。*1
Rubyの公式ドキュメントで記述探したんだけど、"http://docs.ruby-lang.org/ja/2.1.0/class/Thread.html[:title=Threadクラス]"上でしか見当たらなかった。

"パーフェクトRuby"...

技評さんから出てる"パーフェクトRuby"にGVLのこと記載あるかと期待したけど、裏切られた。オライリーさんの"プログラミング言語Ruby"も。
誰かがブログに書いてたけど、Cのコード嫁っていうことなんだろうなぁ*2
Rubyの公式ドキュメント上もThreadクラスに記載がちょっろって載ってるくらいだし。

Perl

いま使ってるPerlがグローバルインタプリタロックの問題をどうしてるのか見当たらなかった。継続調査。