JVBench is the first open-source benchmark suite extensively exercising the Java Vector API.
JVBench consists of several realistic and diversified benchmarks, specifically designed for evaluating vectorization and exercising most of the features of the Java Vector API. Our benchmarks are inspired from well established workloads to evaluate performance of vectorized code, which we recast to the Java Vector API. For each benchmark, JVBench contains two different Java versions. The first version uses only Java scalar code, while the second version employs the Java Vector API to exploit vector instructions. Moreover, in the open-source JVBench repository, we report several semantically equivalent implementations of the same benchmark using different features/methods of the Java Vector API.
An evaluation of all the different versions of the benchmarks can be found in our publication [1].
This work has been published in the proceedings of the ACM SIGPLAN 2023 International Conference on Compiler Construction (CC’23) [1].
Downloads
JVBench repository
JVBench artifact (ready-to-use docker image)
JVBench artifact (source code)
Key Publications
[1] Matteo Basso, Andrea Rosà, Luca Omini, and Walter Binder. 2023. Java Vector API: Benchmarking and Performance Analysis. CC’23: 1-12. [pdf][slides]