我需要计算用于执行具有多个参数的方法的JVM指令的数量。我给该方法提供了各种参数来测量为每种情况执行的JVM指令的数量。
我可以使用哪些工具?源代码是用Scala编写的,但无论如何它都会产生类文件,所以任何JVM识别工具都可以正常工作。我在考虑分析器,但我认为分析器可能用于不同的目的。
答案 0 :(得分:1)
在程序执行期间,有一个很好的工具可以理解Java HotSpot实时(JIT)编译器的行为 - JITWatch。
警告:现代JVM过于复杂,并且进行各种优化,因此从性能的角度来看,JVM指令的数量并不意味着什么。如果您尝试测量一小段代码,那么在没有非常详细了解JVM正在做什么的情况下正确执行它是非常复杂的。请注意(http://shipilev.net/blog/2014/java-scala-divided-we-fail/)并自行承担使用风险: