- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想看看是否有一种方法可以告诉 JMH 仅测量微基准调用的所有方法中的一个特定方法。
我想使用单元测试作为基础自动创建微基准,因此我不必手动构建微基准。在我的研究中,我有一个大型代码库,我在其中进行了一些自动修改,希望它们对性能产生影响。到目前为止,我的代码中有 1200 个地方需要修改。需要自动化,因为我们希望提供一个框架来执行转换,然后自动测量转换的影响。
这里JMH: don't take into account inner method time提供了一个解决方案,但是我必须手动分离 @Start 方法中的代码,这似乎与 1200 个测试用例无关......
最佳答案
你不能,因为它不是微基准测试。
微基准测试意味着在给定确切的环境设置的情况下,测量(孤立的)代码段的整体性能特征,包括准备数据,并将其输入到选择的方法/系统中,测量端到端指标。这就是 JMH 注定要做的事情:有效负载用 @Benchmark
标记,并且不可分割地进行测量,并且有可能逐步取消安装和拆卸工作。
无论如何,在其他正在执行的有效负载方法中测量选定的有效负载方法充其量也会令人困惑:在不知道系统中发生了什么的情况下,这些单独的指标不会告诉您任何信息。换句话说,您想要的需要分析工具,能够剖析各个部分对指标的影响。这是分析器和 Application Performance Management 的东西系统注定要做的事情。
关于java - JMH、Microbenchmark部分代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461182/
JMH似乎具有大多数卡尺功能,或者比caliper更好,但我无法弄清楚如何测量分配率,这通常可以用来查看微基准。 JMH是衡量分配率的错误工具吗? 最佳答案 JMH中没有准确的分配率度量。这是用于探查
我总是因为缺乏准确性而感到有点困扰,我看到基准标记为 system.time和rbenchmark (因为可能缺乏计时的精确性)并看到哈德利引用了 microbenchmark最近包。所以我决定尝试一
题 像 assoc 这样的小型 Clojure 函数有多快?我怀疑 assoc在 100ns 到 3us 范围内运行,这使得计时变得困难。 使用 time user=> (def d {1 1, 2
根据文档,microbenchmark:::autoplot“使用 ggplot2 生成更清晰的微基准计时图表。” 酷!让我们尝试一下示例代码: library("ggplot2") tm 答案越长
我读到,为了避免在微基准测试中消除死代码,最常见的解决方案是: 返回计算结果 使用黑洞消耗结果。 我的问题是: 是否可以通过将计算结果放在公共(public)变量中来避免无用代码消除? 编辑: 感谢
getPrimaryResults有什么区别和 getSecondaryResults RunResults 的方法JMH的类(class)? 最佳答案 我没有在代码基础上验证它,但据我所知,主要结果
这个标志-XX:+CompileTheWorld有什么用? 我找到了这个标志 here哪里说的 Compile all methods in all classes in bootstrap clas
这可能更像是 Gradle 问题而不是 Caliper 问题,但我对 Gradle 还是比较陌生。我有兴趣在我的构建中提供一个可以使用 Caliper 运行一些基准测试的任务。我已经将 Caliper
根据 JEP 230: Microbenchmark Suite ,存在一个内置于 Java 12 的微基准测试套件。JEP 解释说它基本上是 JMH,但不需要使用 Maven/Gradle 显式依赖
我需要使用 JMH 计算至少 10 k 个文件的 Java IO 和 NIO 文件大小以及修改时间 api 的性能。我需要解决这个问题的代码。请指导如何写。 我的一个文件的示例代码如下: @State
我想用 JMH 测量斐波那契函数的性能。但是在编译时出现以下错误: Exception in thread "main" java.lang.RuntimeException: ERROR: Unab
我是一名优秀的程序员,十分优秀!