是否可以通过反编译代码估计性能或圈复杂度?

时间:2017-12-07 11:40:59

标签: java performance bytecode decompiling javap

假设我有两种算法的替代实现,或两种策略。我当然可以用例如江铃控股。但是,通过查看反编译的字节码,我能获得任何信息吗?

一个非常原生的例子是计算if_*复杂性指令或aload_*内存消耗指令。

1 个答案:

答案 0 :(得分:0)

不,您无法从字节码中获得任何结果。 Javac根本没有优化你的代码,它只是在字节码表示中几乎与你的java代码相同。 JIT将在优化后更改所有代码。 如果你看一下编译的asm代码,你甚至无法对代码的性能说些什么。测量它的一种方法 - 运行它。