Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用asm指令测量java程序运行时_Java_Time_Measurement_Java Bytecode Asm_Nanotime - Fatal编程技术网

使用asm指令测量java程序运行时

使用asm指令测量java程序运行时,java,time,measurement,java-bytecode-asm,nanotime,Java,Time,Measurement,Java Bytecode Asm,Nanotime,我想知道是否有一种方法可以使用asm的java字节码插装来测量给定的字节码(类文件,在原始代码中具有主函数)运行时 测量应尽可能精确,如果可能,测量时间应为纳秒 感谢请注意,添加System.nanoTime()或类似内容将在测量的代码部分增加300纳秒或更多 这在ASM中是可能的,但我怀疑它不会给你想要的结果 您是否尝试过对该方法进行性能测试。i、 e.呼叫2秒钟,查看平均呼叫时间。如果你说它足够长的话,它可以精确/稳定到纳秒。我可以问一下你需要它做什么吗?是的,我正在做一个项目,它得到一个给

我想知道是否有一种方法可以使用asm的java字节码插装来测量给定的字节码(类文件,在原始代码中具有主函数)运行时

测量应尽可能精确,如果可能,测量时间应为纳秒


感谢

请注意,添加System.nanoTime()或类似内容将在测量的代码部分增加300纳秒或更多

这在ASM中是可能的,但我怀疑它不会给你想要的结果


您是否尝试过对该方法进行性能测试。i、 e.呼叫2秒钟,查看平均呼叫时间。如果你说它足够长的话,它可以精确/稳定到纳秒。

我可以问一下你需要它做什么吗?是的,我正在做一个项目,它得到一个给定的字节码并对其进行一些分析。主要目标是随着时间的推移跟踪对对象的访问,并在热图上表示它。之所以要求使用纳米时间,是因为它在热图上看起来更好,分辨率更好,而且你可以实际查看程序的一些“阶段”。因为我对输入没有任何限制。它可以是任何程序,甚至是运行一小时的程序。我想在一次跑步中获得时间。我想在代码的开头插入一行,以保证乞讨时的时间,并在最后继续。可能吗?这听起来像是个人资料做得很好的那种事情。您是否尝试过先分析应用程序?cpu分析可以告诉您任何方法被调用的时间或每个方法花费的时间。VisualVM是一个免费的分析器,但我更喜欢你的工具包(不是免费的)