Skip to content

Instantly share code, notes, and snippets.

@nirvdrum
Last active May 11, 2016 01:21
Show Gist options
  • Save nirvdrum/23ee8bcc7a25294fdfde5d73a9178fb8 to your computer and use it in GitHub Desktop.
Save nirvdrum/23ee8bcc7a25294fdfde5d73a9178fb8 to your computer and use it in GitHub Desktop.

A Tale of Two Strings

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.

@nirvdrum
Copy link
Author

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment