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.
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.
- relates to
-
JDK-4757212 JVM 1.4.2 regression on Sierra EE startup compared to JVM 1.3.1 in mixed mode
-
- Closed
-