Investigation into traces of J2SE startup time has shown a significant
amount of time being spent in case-insensitive string comparison. Some
tables used internally to the JDK (specifically those related to
locale and character set names) use the java.lang.String
case-insensitive comparator, which, in order to support the Turkish
locale properly, can end up performing both Character.toUpperCase()
and Character.toLowerCase() on character inputs. These tables contain
only US-ASCII data; changing them to use a non-Turkish-compliant
case-insensitive comparator yields a small but consistent speedup.