elixir-lang/elixir — pull request #1213 by jjh42 (2013-06-08 07:04:46+00:00)
Title: Added speedups for uppercasing and lowercasing.

Steven Soroka reported on the mailing list that String.downcase takes a very long time on long strings.

This is a patch to fix that by doing the conversion into a list where appends are cheap and then converting the list to a binary at the end.

There may be cleverer ways to do this so let me know. Once you're happy I'll have a look through unicode module for other functions that could do with the optimization.