< prev index next >
test/micro/org/openjdk/bench/java/math/BigIntegers.java
Print this page
@@ -135,6 +135,40 @@
}
tmp = tmp.add(s);
}
bh.consume(tmp);
}
+
+ /** Invokes the shiftLeft method of BigInteger with different values. */
+ @Benchmark
+ @OperationsPerInvocation(TESTSIZE)
+ public void testLeftShift(Blackhole bh) {
+ Random rand = new Random();
+ int shift = rand.nextInt(30) + 1;
+ BigInteger tmp = null;
+ for (BigInteger s : hugeArray) {
+ if (tmp == null) {
+ tmp = s;
+ continue;
+ }
+ tmp = tmp.shiftLeft(shift);
+ }
+ bh.consume(tmp);
+ }
+
+ /** Invokes the shiftRight method of BigInteger with different values. */
+ @Benchmark
+ @OperationsPerInvocation(TESTSIZE)
+ public void testRightShift(Blackhole bh) {
+ Random rand = new Random();
+ int shift = rand.nextInt(30) + 1;
+ BigInteger tmp = null;
+ for (BigInteger s : hugeArray) {
+ if (tmp == null) {
+ tmp = s;
+ continue;
+ }
+ tmp = tmp.shiftRight(shift);
+ }
+ bh.consume(tmp);
+ }
}
< prev index next >