This is somewhat related to #7860, but I have a specific usage request. The typical usage scenario is to load a string from a resource bundle and cache nothing on the user end. When arguments are provided for the message look up, the looked up string is assumed to be used in a MessageFormat. Caching MessageFormat objects is not typical and not desirable in large projects nearing JVM memory limits.
We have reports that ICU4J MessageFormat is significantly slower than java.text.MessageFormat. This performance issue prevents us from using MessageFormat, especially in large formatted tables. The arguments are normally number, time and string types.
I can provide more specific examples upon request. They'll be similar to the tutorial I gave at a Unicode conference regarding the Eclipse externalize strings functionality.
Hopefully performance will be better after ticket #8319 is implemented.
Please provide examples – best would be an actual small perf test – and compare with ICU 4.8 (with the changes from ticket #8319).