import org.apache.commons.collections.primitives.ArrayIntList;
import org.openjdk.jmh.annotations.*;
import java.util.concurrent.TimeUnit;
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@Fork(value = 2, warmups = 1)
public class CommonsPrimitivesBenchmark {
@State(Scope.Thread)
public static class BenchmarkState {
ArrayIntList list;
@Setup(Level.Iteration)
public void setUp() {
list = new ArrayIntList();
for (int i = 0; i < 1000000; i++) {
list.add(i);
}
}
}
@Benchmark
public int testAdd(BenchmarkState state) {
int sum = 0;
for (int i = 0; i < state.list.size(); i++) {
sum += state.list.get(i);
}
return sum;
}
public static void main(String[] args) throws Exception {
org.openjdk.jmh.Main.main(args);
}
}
1. Apache Commons Primitives - https://commons.apache.org/proper/commons-primitives/
2. OpenJDK JMH - http://openjdk.java.net/projects/code-tools/jmh/