Hi,
I have raised a jira HARMONY-6095 for improving java.text.DateFormatSymbols
performance. I found DateFormatSymbols(Locale) will invoke
com.ibm.icu.text.DateFormatSymbols.getZoneStrings() which can take
significant time but rarely used in real world applications. So I delay this
call until it really be used. it seems the performance of
DateFormatSymbols(Locale) can be greatly improved.*
*the testcase is:
import java.text.DateFormatSymbols;
import java.util.Locale;
public class TestDateFormatSymbols {
/**
* @param args
*/
public static void main(String[] args) {
long time = System.currentTimeMillis();
DateFormatSymbols dfs = new DateFormatSymbols(Locale.getDefault());
time = System.currentTimeMillis() - time;
System.out.println("the total time is " + time + " ms!");
}
}
I have tested on Intel(R) Core(TM)2 Duo Cpu 2.4GHZ, 2.98GB Memory machine,
the result is as below:
Harmony patch before: 1125 ms
Harmony patched: 78 ms