RFR 8189319 : Add a java.util.Properties constructor that takes an initial capacity

Martin Buchholz martinrb at google.com
Fri Oct 27 20:53:13 UTC 2017

I completely missed the fact that Properties continues to inherit from
Hashtable but the data is actually stored in a CHM.  I would have been
afraid to make that change ...

Looks good!

On Thu, Oct 26, 2017 at 6:43 PM, Brent Christian <brent.christian at oracle.com
> wrote:

> Hi,
> It would be useful to have a Properties constructor that takes an argument
> to set the initial capacity. Such a constructor is present on many of the
> other Map implementations in the JDK, including Hashtable, the superclass
> of Properties.
> In particular, being able to specify the initial capacity of the
> Properties object created to store the system properties could reduce
> startup time.  The current initial capacity of 8 is insufficient.  We could
> eliminate ~25,000 bytecodes currently spent resizing the Properties by
> creating one of sufficient initial size.
> There are ~60 system properties in a minimal Java app.  I chose 84 - it
> provides a good amount of wiggle room (and results in an internal
> ConcurrentHashMap with a table size of 128; 64 would be too small, IMO).
> Please review this change:
> Issue:  https://bugs.openjdk.java.net/browse/JDK-8189319
> Webrev: http://cr.openjdk.java.net/~bchristi/8189319/webrev.01/
> Thanks,
> -Brent

More information about the core-libs-dev mailing list