<i18n dev> Integrated: 8288979: Improve CLDRConverter run time

Daniel Jeliński djelinski at openjdk.org
Thu Jun 23 18:49:37 UTC 2022

On Wed, 22 Jun 2022 14:24:05 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.

This pull request has now been integrated.

Changeset: c8cc94a3
Author:    Daniel Jeliński <djelinski at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c8cc94a38423c0cef597986fb51938a26dc20b51
Stats:     100 lines in 1 file changed: 55 ins; 27 del; 18 mod

8288979: Improve CLDRConverter run time

Reviewed-by: naoto, rriggs


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

More information about the i18n-dev mailing list