日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JMH:如何设置和运行JMH基准

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMH:如何设置和运行JMH基准 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

健康警告!

這篇文章描述了如何設置和運行簡單的JMH基準測試。 眾所周知,微基準測試很難正確設置,即使您確實正確設置了(通過使用JMH之類的工具),它們仍然會產生誤導。 僅僅因為您的代碼在極端孤立的人為情況下以某種方式運行,并不意味著它將在您的生產代碼內以相同的方式運行。 僅舉幾個例子,在實際程序中,CPU緩存將受到代碼其他部分的壓力,任何對象的創建都會對GC產生下游影響,而JIT可能從您的其他部分內聯并編譯了代碼與您基準測試的代碼沖突的代碼。 不過,微型基準確實有其地位,如果您打算使用微型基準,那么最好還是與JMH一起正確地執行。

在最近的一篇文章中,我被要求執行我的測試作為JMH性能基準。

JMH是用于構建,運行和分析以Java和其他針對JVM的其他語言編寫的nano / micro / milli / macro基準測試的Java工具。 在此處查看完整文檔。

JMH之所以如此出色,是因為它負責預熱迭代,分派JVM進程,以使基準不會互相干擾,整理結果并以統一的方式呈現。 還有更多。

我聽過很多有關JMH的信息,看到過許多JMH的結果,但我自己卻從未真正運行過。 太簡單了! 這就是我做的。

將這些依賴項添加到您的Maven pom.xml文件中:

<dependency><groupId>org.openjdk.jmh</groupId><artifactId>jmh-core</artifactId><version>1.5.1</version></dependency><dependency><groupId>org.openjdk.jmh</groupId><artifactId>jmh-generator-annprocess</artifactId><version>1.5.1</version> </dependency>

然后確定要進行基準測試的方法,并向其添加注釋@Benchmark。 如果您需要任何初始化代碼,請將其添加到應標記為@Setup的方法中。

運行基準測試的最簡單方法是通過將該實現添加到您的main方法中來進行添加。 (有關運行測試的其他方法,請參見此處 )。

public static void main(String[] args) throws RunnerException {Options opt = new OptionsBuilder().include(MyBenchmark.class.getSimpleName()).forks(1).build();new Runner(opt).run(); }

然后像運行任何普通程序一樣運行,您將獲得所有JMH的好處!

作為查看JMH基準格式的示例,我的結果如下所示:

Benchmark Mode Cnt Score Error Units CompTestBenchmark.bmCustomComparator thrpt 20 2598.617 ± 67.634 ops/s CompTestBenchmark.bmJDKComparator thrpt 20 751.110 ± 14.835 ops/s CompTestBenchmark.bmNoVTLComparator thrpt 20 1348.750 ± 30.382 ops/s CompTestBenchmark.bmNoVTLOrAutoBoxingComparator thrpt 20 2202.995 ± 43.673 ops/s

有大量的花哨的技巧可以微調您的基準,我不會在這里討論,但希望這能使您正常運行。

  • 有關我的測試的完整代碼列表,請參見此處 。

翻譯自: https://www.javacodegeeks.com/2015/02/jmh-setup-run-jmh-benchmark.html

總結

以上是生活随笔為你收集整理的JMH:如何设置和运行JMH基准的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。