トレードオフは心配するな! Truffleで高速メタプログラミング! #rubykaigi 2015 #rubykaigiA
中吉で進捗オンスケって、大吉だとどうなっちゃうの… #rubykaigi pic.twitter.com/uShRWozZBO
2015-12-11 16:12:55__extension__((const)) def length; ...; end というのを一瞬思い付いた #ないわー #rubykaigiA
2015-12-11 16:19:15んー、メタプログラミングで使われるメソッドルックアップのオーバーヘッドをASTを変換してキャッシュ可能にすることで高速化してるっていう理解でいいのだろうか。 #rubykaigi #rubykaigiA
2015-12-11 16:24:10とりあえずメソッドキャッシュ・インラインキャッシュ、引数キャッシュの3種類のキャッシュが効くことはスライド見てわかった。背景知識に明るくないし英語だしで、話についていけてるかは怪しい… #rubykaigi #rubykaigiA
2015-12-11 16:24:51なんかよくききとれてないんだけど個別の手法はそんなにまあたらしくないけど、Tuffle というのがこういうのをまとめてやってくれて便利って話なのだろうか #rubykaigi #rubykaigia
2015-12-11 16:25:29Indy should be able to do similar argument cache to make "metaprogramming" faster like Truffle but MH trampoline would be hard. #rubykaigi
2015-12-11 16:27:57やっぱ、初回の呼び出しから高速化するわけじゃなくて、メソッドをいくつかのレイヤーに分けてキャッシュして高速化するようだ。それをJRuby上でTruffleっていうフレームワークが上手いことやってくれて早いって奴だな。 #rubykaigi #rubykaigiA
2015-12-11 16:28:1230/51にTruffleのシステム構成が書かれてる #rubykaigi / “Graal and Truffle: One VM to Rule Them All” htn.to/pSVwKMyK7
2015-12-11 16:29:16理解としては怪しいがメタプロがキャッシュ可能になる、だから速い。 実装時の「速さ、使いやすさ」と実行時の「速さ」を両立できる、だからおいしいでしょ? という話だったように思う。わからんが。 #rubykaigi #rubykaigiA
2015-12-11 16:31:08