scala/scala — pull request #3498 by Ichoran (2014-02-10 10:25:43+00:00)
Title: SI-8240 Consider rolling back optimizations for List

Some compiler-specific optimizations turn out to be very helpful for Lists in general.

* List map can be a lot faster (up to 5x!)
* List collect can be considerably faster (up to 2.5x)
* List flatMap can be a bit faster (1.5x)
* List take can be slightly faster (1.1x) and have better structural sharing

These appear to be unqualified wins (tested), even in a scenario with mixed collections. This is expected: detecting the builder is faster than the otherwise mandatory object creation, and multiple dispatch is mostly a wash since it was already multiple dispatch in getting to the builder.