A Tale of Two String Representations
A Tale of Two String Representations
Kevin Menard
08 September 2016
Strings are used pervasively in Ruby. If we can make them faster, we can make many apps faster. In this talk, I will be introducing ropes: an immutable tree-based data structure for implementing strings. While an old idea, ropes provide a new way of looking at string performance and mutability in Ruby. I will describe how we replaced a byte array-oriented string representation with a rope-based one in JRuby+Truffle. Then we’ll look at how moving to ropes affects common string operations, its immediate performance impact, and how ropes can have cascading performance implications for apps.
Venue : RubyKaigi, Kyoto, Japan (http://rubykaigi.org/2016/)
Click on the button below to download this publication.