什么是衡量Java中单线程复杂算法的最佳宏基准测试工具框架?[关闭]

什么是衡量Java中单线程复杂算法的最佳宏基准测试工具框架?[关闭],第1张

什么是衡量Java中单线程复杂算法的最佳宏基准测试工具/框架?[关闭]

以下是我找到的所有工具的字母顺序列表。提到的方面是:

  • 它易于参数化
  • 它是Java库还是至少可以轻松集成到Java程序中
  • 它可以处理JVM微基准测试吗,例如使用预热阶段
  • 它可以直观地绘制结果吗
  • 是否可以持久存储测量值
  • 它可以进行趋势分析以警告新提交导致速度变慢
  • 它是否提供并使用统计信息(至少是最大,最小,平均值和标准偏差)。

自动驾驶

可参数化 Perl库;没有JVM微基准测试密谋 坚持不懈 趋势分析!?; 良好的统计数据(运行给定测试直到结果稳定;突出显示异常值)。

标杆管理框架

无法参数化;Java库;JVM微型基准测试;没有密谋; 没有持久性;没有趋势分析;统计。

统计量是否非常好:除了平均值,最大值,最小值和标准差外,它还计算95%置信区间(通过引导)和序列相关性(例如,警告振荡的执行时间,如果程序的行为不确定,则可能发生)因为您使用的是HashSets)。它决定必须多久重复一次程序才能获得准确的度量,并解释这些度量以进行报告和警告(例如,有关异常值和串行相关性的信息)。

不幸的是,该框架包含在util-package中,该util-package与许多其他帮助程序类捆绑在一起。基准类取决于JSci(Java的科学API)和MersenneTwister(http://www.cs.gmu.edu/~sean/research/)。如果作者布伦特·博耶(Brent
Boyer)有时间,他将把该库煮沸,并添加一个更简单的绘图仪,以便用户可以直观地查看测量值,例如相关性和异常值。

卡尺

可参数化 Java库;JVM微型基准测试;密谋 坚持不懈 没有趋势分析;统计。

相对较新的专为Android应用量身定制的项目。看起来很年轻,但很有前途。取决于谷歌番石榴:(

公用监控

无法参数化!Java库;没有JVM微基准测试!密谋 通过servlet的持久性;没有趋势分析!没有统计信息!

支持AOP检测。

贾蒙

无法参数化;Java库;没有JVM微基准测试;使用其他工具(Jarep或JMX)进行绘图,持久性和趋势分析;统计。

与log4j交织在一起的良好监视功能,也可以通过编程方式访问或查询数据,并且您的程序可以对结果进行 *** 作。

爪哇西蒙

无法参数化!Java库;没有JVM微基准测试;仅与Jarep密谋;仅JMX具有持久性;没有趋势分析;没有统计信息!

Jamon的竞争对手,支持监视器的层次结构。

JETM

无法参数化;Java库;JVM微型基准测试;密谋 坚持不懈 没有趋势分析;没有统计。

不错的轻量级监视工具,没有依赖项:)没有提供足够的统计信息(没有标准偏差),并且相应地扩展插件非常困难(聚合器和聚合器只有固定的最小,最大和平均值吸气剂)。

仪表

可参数化!Java库; 没有JVM微基准测试!密谋 坚持不懈 趋势分析!?; 统计!?。

良好的监控库,专门用于负载测试Web应用程序。

Java Microbenchmark线束(

jmh

可参数化(通过Java API的自定义调用程序);Java库;JVM微基准测试;没有地块; 没有持久性;没有趋势分析;统计。

由Oracle的HotSpot专家构建的基准测试工具非常适合在OpenJDK性能工作中使用的HotSpot上的微基准测试。采取了极端措施来提供可靠的基准测试环境。除了人类可读的输出外,jmh还提供Java
API来处理结果,例如,用于第三方绘图仪和持久性提供程序。

基准测试

可参数化 Java库;JVM微型基准测试;密谋
持久性(使用CONSOLE,XML或数据库H2);图形趋势分析;统计信息(最大值,最小值,平均值,标准差;但不易扩展以进行进一步的统计)。

只需在您的junit测试中添加junit-4-rule :)

junit-Benchmarks是Apache 2许可下的开放源代码。

更新 :项目移至

jmh

juniperf

主要用于对性能(使用JUnit测试装饰器

TimedTest
)和可伸缩性(使用JUnit测试装饰器
LoadTest
)进行趋势分析。

可参数化 Java库;没有JVM微基准测试;没有密谋; 没有持久性;没有统计。

perf4j

无法参数化;Java库;没有JVM微基准测试;密谋 通过JMX的持久性;通过log4j附加器进行趋势分析;统计。

基于日志记录框架,可以使用AOP。

百老汇计划

非常笼统的概念:监视器遵守预定义的条件并指定在满足条件时如何做出反应。

快速mcbenchmark

主要关注参数可设置性:检查算法是否可扩展,即检查是否为O(n),O(n log(n)),O(n²)…

Java库; JVM微型基准测试;没有密谋; 坚持不懈 趋势分析; 没有统计。

磨床

可参数化 Jython库;没有JVM微基准测试;密谋 坚持不懈 没有趋势分析;没有良好的统计数据,但易于扩展。

取决于Jython,HTTPClient,JEditSyntax,ApacheXMLBeans,PicoContainer。

TPTP

可参数化!Java工具平台;没有JVM微基准测试!密谋 坚持不懈 图形趋势分析;没有统计!!

测试和性能工具平台是一个巨大的通用且可扩展的工具平台(基于Eclipse和四个EMF模型)。因此,它功能强大但相当复杂,可能会减慢Eclipse的速度,并根据您的需要对其进行扩展(例如,使用统计信息以使其影响迭代次数)似乎非常困难。

乌西蒙

可参数化!Java库;没有JVM微基准测试;密谋 坚持不懈 趋势分析!?; 统计!?。

该工具专门针对大型集群中的监视而设计。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5177073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存