当前位置: 首页 > 知识库问答 >
问题:

Java Junit精确的基准测试和复杂性总结

封景曜
2023-03-14

我正在使用java,我已经使用junit-benchmarks-0.7.2进行junit性能测试,它可以很好地用于预热、多次运行测试函数和绘制结果,我只想问一下我在junit基准测试中找不到的两个特性:1——它对以毫秒为单位的执行时间不精确(特别是在绘图中,所以我只对执行时间超过0.1秒的函数进行绘图)

有没有一个插件可以粗略或准确地估计我的代码的复杂性??即使它显示了我的代码的性能与预期的性能,比如O(N^2)或O(N),或者它是如何计算的???(不管是免费还是付费插件,我只想要一个做任务)

共有1个答案

宗安翔
2023-03-14

我想这就是迄今为止的答案:

无法修复;将继续使用毫秒作为默认粒度。如果有人真的需要纳秒级计时,用卡尺运行你的基准测试。

这也是我实际上建议的,因为对我来说,junit基准测试似乎没有那么先进。但我可能错了,因为我没有仔细观察。

你可以编写一个JUnit测试,它也是一个卡尺基准测试,就像我做的一样,如果有帮助的话。

关于复杂性估计,有这样的卡钳计划,但我强烈怀疑是否有人这样做。你可以自己做。。。我想几个小时后。我担心,它不会真的有用:它只能推断它看到了什么,可能会有一些问题只在测量范围之外表现出来。因此,最好只进行插值,这样就失去了意义,因为不用工具就可以发现问题。

 类似资料:
  • 11.4. 基准测试 基准测试是测量一个程序在固定工作负载下的性能。在Go语言中,基准测试函数和普通测试函数写法类似,但是以Benchmark为前缀名,并且带有一个*testing.B类型的参数;*testing.B参数除了提供和*testing.T类似的方法,还有额外一些和性能测量相关的方法。它还提供了一个整数N,用于指定操作执行的循环次数。 下面是IsPalindrome函数的基准测试,其中循

  • GoCPPLua (JIT) 策略执行的负载在model_b_test.go中进行基准测试。 测试是: 英特尔 酷睿 i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 核, 8 处理器 go test -bench= -benchmem 的测试结果如下 (op = 一次 Enforce() 调用, ms = 毫秒, KB = 千字节): 测试用例 规则大小 时间开销 (m

  • 考虑以下条件action(即,根据当前状态触发的操作): 异步 Action 下面异步Action怎么办? 要记住的是,如果我们遵循模式,我们的操作只是Angular服务上的函数。 所以我们可以模拟出NgRedux(和任何其他依赖项),就像测试其他Angular 2服务一样。

  • 首先所有的包都应该有一定的必要文档,然后同样重要的是对包的测试。 在第 3 章中提到了 Go 的测试工具 gotest, 我们已经在 9.8 节中使用过了。这里我们会用更多的例子进行详细说明。 名为 testing 的包被专门用来进行自动化测试,日志和错误报告。并且还包含一些基准测试函数的功能。 备注:gotest 是 Unix bash 脚本,所以在 Windows 下你需要配置 MINGW 环

  • These benchmarks were designed to measure Javascript running time for Mithril in comparison with other popular Javascript MVC frameworks. Javascript running time is significant because the gzipped siz

  • https://github.com/17koa/koa-benchmark 比较koa和koa2和express性能 Prerequisites for OSX brew install wrk wrk原理 命令行操作 $ wrk -t8 -c1000 -d10 http://127.0.0.1:3000 Test 首次测试,需要安装依赖,会比较慢 make all 不安装依赖,重复测试