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

A Tale of Two String Representations @nirvdrum http://rubykaigi.org/2016/presentations/nirvdrum.htm "Strings are used pervasively in Ruby. If we can make them faster, we can make many apps faster. 続きを読む
1
Kevin Menard @nirvdrum

Staff Engineer at @Shopify. Working on YJIT and @TruffleRuby. Mastodon: @nirvdrum@ruby.social

https://t.co/uh28aB5ROx


Satoshi Kojima @skoji

文字列の話をこれから聞くよ。ロープの話みたい(データ構造としての) #rubykaigia #rubykaigi

2016-09-08 15:32:36
黒曜@Leaner Technologies @kokuyouwind

本日ラストブロックの最初のセッション、A Tale of Two String Reperesentations。この後A会場はStringの話、Numericの話、Stringの話、となんかprimitiveっぽさ漂う #rubykaigi #rubykaigiA

2016-09-08 15:33:19
黒曜@Leaner Technologies @kokuyouwind

あ、またオラクルの人のセッションなのか #rubykaigi #rubykaigiA

2016-09-08 15:33:42
リンク GitHub rails/rails rails - Ruby on Rails
FUJI Goro @__gfx__

JRubyにおけるStringの実装について、Oracle Labsの成果発表をきいてる。 #RubyKaigiA

2016-09-08 15:34:16
SKS rep @repeatedly

この人もOracleなのか.Oracleの人結構Rubyやってるんだな.メインはJRubyか #rubykaigiA

2016-09-08 15:34:48
黒曜@Leaner Technologies @kokuyouwind

文字列のデータはbyte sequenceだけではなく、エンコーディング、coreRange, byteLengthも含む. #rubykaigi #rubykaigiA

2016-09-08 15:35:46
プリズムリバーの人 @prismriver

Guildの中に複数Threadある場合って結局そのThread間では既存の問題は発生しうるのかな。 #rubykaigi #rubykaigiA

2016-09-08 15:37:26
黒曜@Leaner Technologies @kokuyouwind

RStringはMutableでflatなデータ構造。連続したデータ領域が必要。RopesはImmutableで木構造表現によるデータ構造。データ領域は断続的でもよい。複数の木でメモリを共有できる。 #rubykaigi #rubykaigiA

2016-09-08 15:37:59
SKS rep @repeatedly

CRubyでもRopeの実装は試みられてますね > spinute.org/ruby/gsoc2016/… #rubykaigiA

2016-09-08 15:38:09
リンク www.spinute.org 最終報告
y-yagi @y_yagi

これか 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
リンク GitHub jruby/jruby jruby - JRuby, an implementation of Ruby on the JVM
_h_s_ @_h_s_

Rope と Guild の相性良さそうな気がする #rubykaigi

2016-09-08 15:38:30
Wataru MIYAGUNI @gongoZ

Oracle Labs の成果発表2回目聞きにきた #rubykaigi #rubykaigiA

2016-09-08 15:40:11
joker1007 (アルフォートおじさん) @joker1007

RopeとJRuby Truffleの文字列結合、MRIの80x 速いww #rubykaigiA

2016-09-08 15:41:24
黒曜@Leaner Technologies @kokuyouwind

「RStringではconcatenationはO(n)操作、RopeだとO(1)操作。メモリー効率もRopeのほうが良い。」まぁ2要素を子に持つ木を作るだけだからそうなるわな。 #rubykaigi #rubykaigiA

2016-09-08 15:41:33
y-yagi @y_yagi

JRuby+Truffle - a High-Performance Truffle Backend for JRuby github.com/jruby/jruby/wi… #rubykaigiA

2016-09-08 15:41:44