5.1 Java性能测量
对100 000 个数字列表进行排序。
package optjava.jmh;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;// tag::CLASSIC_SORT[]public class ClassicSort {private static final int N = 1_000;private static final int I = 150_000;private static final List<Integer> testData = new ArrayList<>();public static void main(String[] args) {Random randomGenerator = new Random();for (int i = 0; i < N; i++) {testData.add(randomGenerator.nextInt(Integer.MAX_VALUE));}System.out.println("Testing Sort Algorithm");double startTime = System.nanoTime();for (int i = 0; i < I; i++) {List<Integer> copy = new ArrayList<Integer>(testData);Collections.sort(copy);}double endTime = System.nanoTime();double timePerOperation = ((endTime - startTime) / (1_000_000_000L * I));System.out.println("Result: " + (1 / timePerOperation) + " op/s");}}// end::CLASSIC_SORT[]
