RFR 8209171 : Simplify Java implementation of Integer/Long.numberOfTrailingZeros() (original) (raw)
Ivan Gerasimov ivan.gerasimov at oracle.com
Thu Aug 9 23:15:10 UTC 2018
- Previous message: RFR: 8209120: Archive the Integer.IntegerCache
- Next message: RFR 8209171 : Simplify Java implementation of Integer/Long.numberOfTrailingZeros()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello!
Integer.numberOfTrailingZeros() and Long.numberOfTrailingZeros() are intrinsified by Hotspot, so the Java implementation of these is not too important. However, they still can be improved by a tiny bit :)
Could you please help review the fix?
Bug: https://bugs.openjdk.java.net/browse/JDK-8209171 Webrev: http://cr.openjdk.java.net/~igerasim/8209171/00/webrev/ Benchmark for Integer: http://cr.openjdk.java.net/~igerasim/8209171/00/bench/int/MyBenchmark.java Benchmark for Long: http://cr.openjdk.java.net/~igerasim/8209171/00/bench/long/MyBenchmark.java
The resulting code is both smaller and faster. It may also help to warm up Integer.numberOfLeadingZeros() quicker.
On average, the new Integer.numberOfTrailingZeros() has got +11% to performance for -client and +1% for -server. Long.numberOfTrailingZeros() is faster on 17% for -client and +20% for -server.
-- With kind regards, Ivan Gerasimov
- Previous message: RFR: 8209120: Archive the Integer.IntegerCache
- Next message: RFR 8209171 : Simplify Java implementation of Integer/Long.numberOfTrailingZeros()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]