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/


上一篇:
下一篇:
切换中文