RubyKaigi 2016 Conference Proposal
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 that impacts common string operations, its immediate performance impact, and how ropes can have cascading performance implications.
Thanks for the feedback! I'll see what I can do within the confines of 600 characters. There is additional information for the selection committee that I omitted here. The abstract is mostly used to help attendees choose between sessions during the multi-track conference. So it needs to be concise and motivating. I'll work on the motivation parts a bit more.
Thanks again!