Hi Roger,
On 7/11/2018 2:17 AM, Roger Riggs wrote:
While working to reduce startup time initializing properties, a pair of
improvements are proposed.
8185496: Improve performance of system properties initialization in
initPhase1 [1]
8213424: VersionProps duplicate initialization [2]
1) The overhead of providing default values in native is reduced by
applying the defaults
when first used and leaving the properties undefined unless there is
an OS supplied value or a -D command line argument
Looking at the hotspot change for setting sun.nio.MaxDirectMemorySize I
don't really understand the change. In the current code we will always
set the property even if the value -1 means it is "unset". Your change
wants to exclude it completely in the default case as an optimisation,
yet to do that you have to perform far more work in the VM examining
every key to see if we need to skip a -D set value. That seems
counter-productive on the surface. What is the actual performance change
here?
Thanks,
David
2) Two tests for properties are combined into a more complete test
webrev:
http://cr.openjdk.java.net/~rriggs/webrev-props-cleanup-8185496/
Issues:
[1] https://bugs.openjdk.java.net/browse/JDK-8185496
[2] https://bugs.openjdk.java.net/browse/JDK-8213424
Thanks for any comments and suggestions, Roger