Hi David!
On 5/16/18 6:12 PM, David Holmes wrote:
Hi Ivan,
Surely you need to back this up with some performance numbers! And
verify not assume that numberOfLeadingZeroes is intrinsified!
Yes, good point.
Please find the benchmark with the results here:
http://cr.openjdk.java.net/~igerasim/8203279/00/MyBenchmark.java
It shows that the new version of HashMap. tableSizeFor() was
(approximately) two times faster.
With kind regards,
Ivan
Cheers,
David
On 17/05/2018 10:32 AM, Ivan Gerasimov wrote:
Hello!
In a few places we have code that rounds an integer up to the nearest
power of two.
It is done with a series of RSHOTFs and ORs, but it can possibly be
done faster with the use of Integer.numberOfLeadingZeros (assuming it
is intrinsified).
Would you please help review this trivial optimization:
BUGURL: https://bugs.openjdk.java.net/browse/JDK-8203279
WEBREV: http://cr.openjdk.java.net/~igerasim/8203279/00/webrev/
For HashMap.tableSizeFor() I created a simple test with a loop from
Integer.MIN_VALUE to Integer.MAX_VALUE (including), to make sure the
result is the same.
For TimSort.ensureCapacity() I checked all positive values of
minCapacity.
--
With kind regards,
Ivan Gerasimov