TOP
|
使用JMH进行微基准测试:不要猜,要测试!(三)
,803 ops/s |
Iteration 4 |
58538,842 ops/s |
100861,562 ops/s |
104643,717 ops/s |
Iteration 5 |
57297,787 ops/s |
100405,656 ops/s |
104706,503 ops/s |
Iteration 6 |
57838,298 ops/s |
98912,545 ops/s |
105439,939 ops/s |
Iteration 7 |
56645,371 ops/s |
100543,188 ops/s |
102893,089 ops/s |
Iteration 8 |
56569,236 ops/s |
102239,005 ops/s |
104730,682 ops/s |
Iteration 9 |
57349,754 ops/s |
94482,508 ops/s |
103492,227 ops/s |
Iteration 10 |
56894,075 ops/s |
101405,938 ops/s |
106790,525 ops/s |
Average |
57491,4534 ops/s |
99226,5614 ops/s |
104913,1069 ops/s |
## 结论
在过去的几十年jvm大幅进化。用十年前的设计模式优化我们的代码是不可取的。比较两段代码的好坏的唯一办法就是测量它。JMH就是一个简单高效的进行微基准测试的完美工具。当然,推理的一小部分代码只有一个步骤,因为我们通常需要分析整个应用程序的性能。因为有了HMH,让这个第一个步骤变得很容易。
这还有一些JMH的例子,它充满了有趣的想法。
参考资料
JMH Samples
Java Performance Tuning Guide
Using JMH for Java Microbenchmarking
Writing Java Micro Benchmarks with JMH: Juicy
|