Commits

Arnold Schwaighofer committed 5a25a00d1f3
stdlib: Move the darwin String implementation over to use the ICU library. We no longer create intermediate NSString copies to compare and hash swift Strings. Instead we call directly into the ICU library. I measured a 1.2 to 2x improvement on dictionary benchmarks as a result of this. The SuperChars benchmark is also about 1.2x faster because of this. Pure ASCII comparison has gotten a little bit slower (20% on a pure comparison micro-benchmark) because we no longer do a memcmp. Doing a memcmp on ASCII is not the same as the default unicode collation. Instead we have to a string scan. The default unicode collation does not order like ASCII does and ignores characters (for example the \0 character). rdar://18992510 Swift SVN r31474