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



Reply via email to