RFR: 8260043: Reduce allocation in sun.net.www.protocol.jar.Handler.parseURL

eirbjo github.com+300291+eirbjo at openjdk.java.net
Wed Jan 20 15:30:04 UTC 2021


By moving string splitting and concatenation into the canonizeString utility, we can defer allocation until we determine that canonization is required. This saves two string allocations and a string concat for the common case where canonization is not required.

As a refactoring, move ParseUtil.canonizeString/doCanonize into Handler since that's the only call site.

Finally, let's rename the method to canonizalizeString, since canonization is an rather unrelated term.

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

Commit messages:
 - Move utilities from ParseUtil into Handler, rename to canonicalizeString, call file.length() only once.
 - Reduce allocation by deferring substring calls until canonizeString determines it is needed

Changes: https://git.openjdk.java.net/jdk/pull/2167/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2167&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260043
  Stats: 95 lines in 2 files changed: 47 ins; 47 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2167.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2167/head:pull/2167

PR: https://git.openjdk.java.net/jdk/pull/2167


More information about the net-dev mailing list