# HG changeset patch # User youdwei # Date 1335272776 -28800 # Node ID db2c42dabfa49e042bdc7b6f4e5b4ea83718d980 # Parent 386de6da1ff0f25b41880f504b6b36056939946e 7163865: Performance improvement for DateFormatSymbols.getZoneIndex(String) Reviewed-by: okutsu diff -r 386de6da1ff0 -r db2c42dabfa4 jdk/src/share/classes/java/text/DateFormatSymbols.java --- a/jdk/src/share/classes/java/text/DateFormatSymbols.java Mon Apr 23 16:34:32 2012 +0200 +++ b/jdk/src/share/classes/java/text/DateFormatSymbols.java Tue Apr 24 21:06:16 2012 +0800 @@ -647,6 +647,8 @@ private static final ConcurrentMap> cachedInstances = new ConcurrentHashMap>(3); + private transient int lastZoneIndex = 0; + private void initializeData(Locale desiredLocale) { locale = desiredLocale; @@ -692,12 +694,24 @@ * the given time zone ID can't be located in the DateFormatSymbols object. * @see java.util.SimpleTimeZone */ - final int getZoneIndex(String ID) - { + final int getZoneIndex(String ID) { String[][] zoneStrings = getZoneStringsWrapper(); - for (int index=0; index