在Caliper中使用reps

时间:2015-07-20 20:11:05

标签: java performance hashmap hashtable benchmarking

所以我读到了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

1 个答案:

答案 0 :(得分:3)

您没有设置reps,其值由Caliper在内部决定。处理的唯一问题是方法调用开销的摊销,实际上只有一个rep是首选。请放心,您的方法将被调用的次数不止一次。