RFR: 8214712: Archive Attributes$Name.KNOWN_NAMES
Jiangli Zhou
jiangli.zhou at oracle.com
Tue Dec 4 00:08:15 UTC 2018
Hi Claes,
Looks good from object graph archiving perspective. Placing the
KNOWN_NAMES map in the closed archive looks safe since no additional
names are added after initialization. If you also agree, maybe add a
comment above the KNOWN_NAMES field declaration with those information.
Thanks!
Jiangli
On 12/3/18 8:02 AM, Claes Redestad wrote:
> Hi,
>
> initializing java.util.jar.Attributes.Name.<clinit> executes ~20k
> bytecodes setting up and eagerly calculating case-insensitive hash
> codes for a slew of Name objects.
>
> By archiving the resulting set of Names and initializing public
> constants from the archived map, we reduce time spent starting up
> (Name.<clinit> drops to 368 executed bytecodes) and improve the
> footprint sharing effect of using CDS:
>
> http://cr.openjdk.java.net/~redestad/8214712/jdk.00/
>
> Testing: tier1-2 running
>
> Verified a 1-2.5ms startup improvement on java -jar Hello.jar
> - significant and stable reduction in instruction count, branches and
> branch misses
> - only adds ~1.1Kb to the dumped CDS archive
>
> Thanks!
>
> /Claes
More information about the core-libs-dev
mailing list