> 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/9243/files - new: https://git.openjdk.org/jdk/pull/9243/files/c3743d18..6cb47724 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=9243&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9243&range=00-01 Stats: 5 lines in 1 file changed: 0 ins; 1 del; 4 mod Patch: https://git.openjdk.org/jdk/pull/9243.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9243/head:pull/9243 PR: https://git.openjdk.org/jdk/pull/9243