在 Caliper 中使用 reps

Usage of reps in Caliper

所以我了解了 Caliper 并尝试使用它。所以我写了以下内容来开始这个框架:

   public class HashTableBenchMark  {       
        HashMap<Integer, String> hashMap;

        @BeforeExperiment
        public void setUp() {
            hashMap = new HashMap<Integer, String>();
        }

        @Benchmark
        public void put(int reps) {
            System.out.println("reps=" + reps);
            for (int i = 0; i < reps; ++i) {
                hashMap.put(i, "" + i);
            }
        }

        public static void main(String[] args) throws Exception {
            CaliperMain.main(HashTableBenchMark.class, args);
        }
    }

我应该设置 reps 吗?因为它总是打印 1

你不设置reps,它的值是由Caliper内部决定的。处理的唯一问题是方法调用开销的摊销,实际上只首选一个代表。请放心,您的方法将被调用多次而不是一次。