getNumberInstance() and getIntegerInstance() in java.text.NumberFormat call computeInstance() to perform a resource search for default format strings. These resource searches generally fail and require exception handling in computeInstance(), because the default values are not in LocaleInformation.properties or any of the other locale property files. This makes calls to getNumberInstance() and getIntegerInstance() much more expensive than necessary. This expense can be avoided simply by putting the default format strings for getNumberInstance() and getIntegerInstance() in LocaleInformation.properties. Note that the cost also propagates to java.text.MessageFormat#format(), which can make an arbitrary number of calls to getNumberInstance() and getIntegerInstance().
Doing this would require changing the localegen app and re-running it.