<i18n dev> RFR: 8288979: Improve CLDRConverter run time [v2]

Naoto Sato naoto at openjdk.org
Wed Jun 22 21:51:42 UTC 2022


On Wed, 22 Jun 2022 17:30:48 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

>> This PR improves the performance of deduplication done by ResourceBundleGenerator.
>> 
>> The original implementation compared every pair of values, requiring O(n^2) time. The new implementation uses a HashMap to find duplicates, trading off some extra memory consumption for O(n) computational complexity. In practice the time to generate jdk.localedata on my Linux VM files dropped from 14 to 8 seconds.
>> 
>> The resulting files (under build/support/gensrc/java.base and jdk.localedata) have different contents; map iteration order depends on the insertion order, and the insertion order of the new implementation is different from the original.
>> The files generated before and after this change have the same size.
>
> Daniel Jeliński has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use instanceof pattern matching

Thanks for the refactoring Daniel. Removing the leftover `List` was a bonus.

-------------

PR: https://git.openjdk.org/jdk/pull/9243


More information about the i18n-dev mailing list