トレードオフは心配するな! Truffleで高速メタプログラミング! #rubykaigi 2015 #rubykaigiA

Fast Metaprogramming with Truffle Kevin Menard @nirvdrum http://rubykaigi.org/2015/presentations/nirvdrum
0
こいわ(特に予定ナス) @koiwa

中吉で進捗オンスケって、大吉だとどうなっちゃうの… #rubykaigi pic.twitter.com/uShRWozZBO

2015-12-11 16:12:55
拡大
Aki Ariga @chezou

ベンチマークに分散も表現しているの素晴らしい #rubykaigiA

2015-12-11 16:14:10
斎藤ただし, Tadashi Saito @_tad_

ARが出てきたのにRailsアプリでどのくらい速くなる的な話はないのかな #rubykaigiA

2015-12-11 16:15:32
斎藤ただし, Tadashi Saito @_tad_

__extension__((const)) def length; ...; end というのを一瞬思い付いた #ないわー #rubykaigiA

2015-12-11 16:19:15
アルフォートおじさん @joker1007

んー、メタプログラミングで使われるメソッドルックアップのオーバーヘッドをASTを変換してキャッシュ可能にすることで高速化してるっていう理解でいいのだろうか。 #rubykaigi #rubykaigiA

2015-12-11 16:24:10
黒曜@Leaner Technologies @kokuyouwind

とりあえずメソッドキャッシュ・インラインキャッシュ、引数キャッシュの3種類のキャッシュが効くことはスライド見てわかった。背景知識に明るくないし英語だしで、話についていけてるかは怪しい… #rubykaigi #rubykaigiA

2015-12-11 16:24:51
nagachika @nagachika

なんかよくききとれてないんだけど個別の手法はそんなにまあたらしくないけど、Tuffle というのがこういうのをまとめてやってくれて便利って話なのだろうか #rubykaigi #rubykaigia

2015-12-11 16:25:29
Hiroshi Nakamura @nahi

Indy 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
アルフォートおじさん @joker1007

やっぱ、初回の呼び出しから高速化するわけじゃなくて、メソッドをいくつかのレイヤーに分けてキャッシュして高速化するようだ。それをJRuby上でTruffleっていうフレームワークが上手いことやってくれて早いって奴だな。 #rubykaigi #rubykaigiA

2015-12-11 16:28:12
p-hone @p__hone

””Truffleはすごい””ってことしかわからなかった() #rubykaigi

2015-12-11 16:28:20
FUKUI Osamu @iR3

30/51にTruffleのシステム構成が書かれてる #rubykaigi / “Graal and Truffle: One VM to Rule Them All” htn.to/pSVwKMyK7

2015-12-11 16:29:16
Blue Garnet @blue_garnet_

理解としては怪しいがメタプロがキャッシュ可能になる、だから速い。 実装時の「速さ、使いやすさ」と実行時の「速さ」を両立できる、だからおいしいでしょ? という話だったように思う。わからんが。 #rubykaigi #rubykaigiA

2015-12-11 16:31:08
よう @youchan

rubyを早くする話が多い #rubykaigi

2015-12-11 16:34:14