因此,我了解了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内部确定。处理的唯一问题是方法调用开销的摊销,实际上只需要一个代表。请放心,您的方法将被调用多次。

10-08 14:11