C/C++, ICU 52 (maint-52 with a copy of the collperf2 code) vs. ICU 53 (release-53-1), both at svn r35657.
Note: Earlier results from January 2014 had some bogus numbers due to bugs in the performance test code. These bugs were fixed before getting the April 2014 results.
See the attached file with "Linux_x64_clang31_20140427". The comments below are about performance comparisons for sorting and binary search.
Binary search of Latin strings is about equally fast for either encoding form. Sorting of Latin strings is about 40% faster when using UTF-16.
For strings in other languages, binary search is about 20%..40% faster in UTF-16, and sorting is about 15%..60% faster in UTF-16.
The code has equivalent optimizations for all of the common code paths (Latin fastpath, fetching characters, looking up collation values) for UTF-8 vs. UTF-16. All non-character-fetching code is shared. Only when normalization is necessary (only in some cases when normalization is turned on, which is not the default) are small pieces of text converted to UTF-16.