
JRubyにおけるString実装高速化 Rope 紹介 #RubyKaigi #RubyKaigiA

文字列の話をこれから聞くよ。ロープの話みたい(データ構造としての) #rubykaigia #rubykaigi
2016-09-08 15:32:36
本日ラストブロックの最初のセッション、A Tale of Two String Reperesentations。この後A会場はStringの話、Numericの話、Stringの話、となんかprimitiveっぽさ漂う #rubykaigi #rubykaigiA
2016-09-08 15:33:19
この人もOracleなのか.Oracleの人結構Rubyやってるんだな.メインはJRubyか #rubykaigiA
2016-09-08 15:34:48
文字列のデータはbyte sequenceだけではなく、エンコーディング、coreRange, byteLengthも含む. #rubykaigi #rubykaigiA
2016-09-08 15:35:46
Guildの中に複数Threadある場合って結局そのThread間では既存の問題は発生しうるのかな。 #rubykaigi #rubykaigiA
2016-09-08 15:37:26
RStringはMutableでflatなデータ構造。連続したデータ領域が必要。RopesはImmutableで木構造表現によるデータ構造。データ領域は断続的でもよい。複数の木でメモリを共有できる。 #rubykaigi #rubykaigiA
2016-09-08 15:37:59
CRubyでもRopeの実装は試みられてますね > spinute.org/ruby/gsoc2016/… #rubykaigiA
2016-09-08 15:38:09
これか jruby/truffle/src/main/java/org/jruby/truffle/core/rope at master · jruby/jruby github.com/jruby/jruby/tr… #rubykaigiA
2016-09-08 15:38:26
「RStringではconcatenationはO(n)操作、RopeだとO(1)操作。メモリー効率もRopeのほうが良い。」まぁ2要素を子に持つ木を作るだけだからそうなるわな。 #rubykaigi #rubykaigiA
2016-09-08 15:41:33
JRuby+Truffle - a High-Performance Truffle Backend for JRuby github.com/jruby/jruby/wi… #rubykaigiA
2016-09-08 15:41:44