dotnet/corefx — pull request #67 by PatrickMcDonald (2014-11-13 13:23:57+00:00)
Title: Add optimization for ImmutableList<T>.AddRange

...when adding non-empty range to non-empty list

The AddRange method in ImmutableList currently adds the items in a loop, rebalancing after each add.

This PR will add the entire enumerable in one batch, giving a significant performance improvement

85% improvement when adding an array to to an immutable list
98% improvement when adding an immutable list to an immutable list