< prev index next >
test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java
Print this page
rev 55606 : 8221812: Fine-tune jmh test for vector api
Summary: To compare performance of vector api and auto vectorization, vector
api and scalar test cases are updated to keep aligned.
Reviewed-by: duke
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -597,185 +597,115 @@
@Benchmark
public void andAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = -1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.andAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = -1;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra &= av.andAll();
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void orAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.orAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = 0;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra |= av.orAll();
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void xorAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.xorAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = 0;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra ^= av.xorAll();
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void addAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = 0;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.addAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = 0;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra += av.addAll();
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void mulAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = 1;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.mulAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = 1;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra *= av.mulAll();
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void minAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = Long.MAX_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.minAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = Long.MAX_VALUE;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra = (long)Math.min(ra, av.minAll());
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void maxAll(Blackhole bh) {
long[] a = fa.apply(SPECIES.length());
- long[] r = fr.apply(SPECIES.length());
long ra = Long.MIN_VALUE;
for (int ic = 0; ic < INVOC_COUNT; ic++) {
- for (int i = 0; i < a.length; i += SPECIES.length()) {
- LongVector av = LongVector.fromArray(SPECIES, a, i);
- r[i] = av.maxAll();
- }
- }
-
- for (int ic = 0; ic < INVOC_COUNT; ic++) {
ra = Long.MIN_VALUE;
for (int i = 0; i < a.length; i += SPECIES.length()) {
LongVector av = LongVector.fromArray(SPECIES, a, i);
ra = (long)Math.max(ra, av.maxAll());
}
}
-
bh.consume(ra);
- bh.consume(r);
}
@Benchmark
public void anyTrue(Blackhole bh) {
< prev index next >