- Convert ruby core lib to LLVM bitcode using Clang - Generate LLVM IR from YARV bytecode - Allow LLVM to optimize them together #rubykaigi
2015-12-13 18:12:37これだけ書き換えるとなると具体的にはよっぽどホットコードじゃないとコストかけ過ぎになってしまうんでしょうね #rubykaigi #rubykaigiA
2015-12-13 18:12:42AOTコンパイルしたタイミングのメソッド定義を使ってコンパイルした結果は、後の実行時にクラスやメソッドの定義が使い物にならなくなったりするはずだけども、それをチェックしさえすれば使える(そして大体書き換えられていない)から速くなる、であってるかな。 #rubykaigi
2015-12-13 18:13:39MIPASWAP(Matz is Pragmatic So We Are Pragmatic) #rubykaigi #rubykaigiA
2015-12-13 18:14:19開発者は簡単 ツールが自動でヘルパーコードを足してくれるからね 過去のコアコードは利用可能 コードはツールが賢くするから、動作は速くなる #rubykaigi
2015-12-13 18:14:22MIPASWAP ( Matz is Pragmatic, So We are Pragmatic ) #RubyKaigi #RubyKaigiA
2015-12-13 18:14:42Matz Is Pragmatic So We Are Pragmatic #rubykaigi pic.twitter.com/6Erd4r2lCo
2015-12-13 18:14:49At this moment, @evanphx is Ruby. #rubykaigi pic.twitter.com/LVDQukk4cm
2015-12-13 18:14:54MIPASWAP - Matz is pragmatic so we are pragmatic #RubyKaigiA #rubykaigi
2015-12-13 18:15:08俺のターン コンパイル時間とプログラマの胃を犠牲にして実行時間を高速化! よっぽどホットなとこならいいかもしれん #rubykaigi
2015-12-13 18:15:09"MIPASWAP: Matz Is Pragmatic And So We Are Pragmatic" #rubykaigi
2015-12-13 18:15:40each を rb_block_call してるところを最適化すると効果ありそうだけど、かなり難しいと思う #rubykaigi .
2015-12-13 18:16:21MIPASWAP: @evanphx proposes building JIT while maintaining Ruby core to reach Ruby 3x3 👍🏼💯 #rubykaigi pic.twitter.com/FhyCoRrB4U
2015-12-13 18:16:40大きな新技術は必要ない、ただ、コンパイラ最適化があればいいのだ だから、大きな挑戦も大量の労力も必要ない、我々はJITや今までの利益を享受しつつ、コンパイラ先生の英知の助けを借りればいい 我々は今すぐに行動できる状態にある。 #rubykaigi
2015-12-13 18:16:41