GraalVM上で動く超絶速いTruffleRubyを動かしてみました。

macOSで動かすにはEnterprise Editionが必要とのことだったのでDockerのLinux上でCommunity Editionを動かしてみます。

こちらのリポジトリをクローンして make build すれば動きます。

基本的にはoracle/graalの中のDockerfileを参考にしていて、こんな感じで書けばOKです↓

ベンチマーク

以下のスクリプトを各Rubyで動かしてみました。

結果はこちら↓

Ruby 2.6.0-preview2

Ruby 2.6.0-preview2 with MJIT

TruffleRuby

JITが効きやすいケースで試したのでアレですが、 MJITありのCRubyはMJITなしと比べて6倍くらい速く、TruffleRubyは37倍くらい速くなっています。凄い…。