タグ Ruby VM
人気順 10 users 50 users 100 users 500 users 1000 usersRubyの(グローバル)VMロックをトレースする(翻訳)|TechRacho by BPS株式会社
興味が湧いてきましたか?自分でトレースを生成する詳しい方法は以下をお読みください。 GVLとは何か RubyのVM(仮想マシン)は巨大なプログラムで、大半がC言語で書かれています(JRubyやTruffle Rubyについてはまたの機会に😁)。 Rubyアプリケーションでスレッドを作成すると、Ruby VMはそれらのスレッドをOSのスレッ... 続きを読む
Ruby 用の JIT コンパイラを作りました。ただし VM のではない。 | Chiba’s website
このところ Ruby VM 用の JIT コンパイラが話題だったようですが、Ruby 用の JIT コンパイラを試作してみました。 ただし VM 用の JIT コンパイラではありません。 代わりに? OpenCL も利用できます(ただし macOS のみ)。 Ruby は埋め込み DSL (embedded DSL, eDSL) のホスト言語としてよく使われます。 今回試作した... 続きを読む
Rei Odaira - RubyのGVLにHTMを用いるパッチ
これは何? オリジナルのRuby VMの実装(CRuby, MRI)は大域VMロック(Giant VM Lock; GVL)を用いています。GVLのおかげでVMと拡張ライブラリの開発者は並列プログラミングについて考える必要が無く実装が容易になります。しかしそのせいで、Rubyでマルチスレッドプログラムを書いても同時に一つのスレッドしか実行されないという性能上の問題がありました。一方、近年のCPUに... 続きを読む