java - 跨所有方法评估一个线程的性能

标签 java multithreading performance benchmarking timing

有一个线程在多个包中执行 50 个方法。我想评估每种方法的执行时间。此线程在信号上唤醒并处理此 50 方法。

鼓励回答或讨论,但请阅读我的笔记:

  1. 请不要建议将 System.nano/mills 放在每个方法的开头和结尾。
  2. 请不要提供分析器建议。
  3. 不建议将此应用程序与性能评估线混为一谈。
  4. 感谢有人给出了使用 BTrace 或 ThreadMXBean 或任何新事物的示例。

喜欢以编程方式进行评估,如果有人有更好的想法,我们将不胜感激。

最佳答案

Perf4J可能是一个选择。我自己从来没有用过它。但是他们从网站上支持注释方法以便对它们进行检测。可以通过 MXBean 观察实时统计数据。 jconsole 或在日志文件中运行之后。

关于java - 跨所有方法评估一个线程的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965358/

相关文章:

java - 我对ScheduledThreadPoolExecutor.scheduleAtFixedRate和可能的并发感到困惑。为什么会有线程池?

multithreading - 使用 golang sync.WaitGroup 的正确方法是什么

javascript - 通过原型(prototype)定义方法与在构造函数中使用它相比——真的有性能差异吗?

java - while-else-循环

java - 如何在桌面应用程序中使用 CSS 样式使 Javafx 中的文本或图像闪烁?

java - 在 session 中保存模型

java - 使用企业 Java Bean 提升

java - 多线程 hibernate 中的未知实体

Python线程

.net - 基于 .Net 的建模应用程序的速度改进