首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中类似于Criterium的BenchMark框架

Java中类似于Criterium的BenchMark框架
EN

Stack Overflow用户
提问于 2013-09-01 20:59:49
回答 4查看 872关注 0票数 2

我正在寻找一个Java基准库。我很熟悉黄曲霉基准测试库的特性,并且对它感到满意。它的特点如下:

代码语言:javascript
复制
* Statistical processing of multiple evaluations
* Inclusion of a warm-up period, designed to allow the JIT compiler to optimise its code
* Purging of gc before testing, to isolate timings from GC state prior to testing  
* A final forced GC after testing to estimate impact of cleanup on the timing results

它的界面非常友好

代码语言:javascript
复制
(bench expr & opts)

打印汇总统计数据的报告,如:

代码语言:javascript
复制
 => (bench (Thread/sleep 1000))

               Execution time mean : 1.000803 sec
      Execution time std-deviation : 328.501853 us
     Execution time lower quantile : 1.000068 sec ( 2.5%)
     Execution time upper quantile : 1.001186 sec (97.5%)

我在Java中寻找一个类似的库,这个库可能公开一个工作台方法,这个方法需要一个可调用的,或者一个可运行的,并且打印一个类似的报告。例如:

代码语言:javascript
复制
  BenchMark.bench(new Callable<String>() {
      @Override
      public String call() { ... }
  })

有没有人知道一个功能齐全、开放源码的免费啤酒库就能做到这一点?也许也包括内存统计?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-01 21:06:27

Criterium列出了布伦特·布罗耶的基准文章作为灵感:Elliptic Group,Inc. Java基准文章。它附带了一个Java基准库(尽管它包含了很多完全通用的内容)(并且部分致力于提供描述),这正是这种类型的Java基准库(在上面的链接之后向下滚动,查找到jar的链接和源代码下载)。

自述(包括在完整的项目下载中)指定LGPL3为许可。

票数 3
EN

Stack Overflow用户

发布于 2013-09-01 21:15:41

在我看来,目前最好的基准库之一是jmh。它是由Oracle积极开发的,它是开源的,并且被用于openJDK的微基准部分,包括并发性API和JavaFX。

输出非常全面,可以包括每次操作的时间、每毫秒的操作数、置信区间等。您还可以选择引入线程、争用、共享等。

票数 7
EN

Stack Overflow用户

发布于 2013-09-01 21:11:20

对于Java来说,jMeter http://jmeter.apache.org/是性能测试的标准(所以不完全是基准测试) :)。

我们使用Sigar https://support.hyperic.com/display/SIGAR/Home以“平台无关”的方式监视JVM的所有类型的参数(不仅仅是JMX公开的内容)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18562880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档