GUI应用程序和测量运行时间

时间:2016-05-02 22:09:41

标签: java swing user-interface

(1)我写了一个关于这个问题的问题,但我认为我没有正确说明问题所以我删除了它。为了达到目的,在我的GUI应用程序中,我注意到当我想测量使用System.currentTimeMillis();的方法所花费的运行时间时,与标准运行方式相比,时间变得非常短且不切实际{{1}通过终端或控制台的文件,Java Swing在这里产生了一些效果吗?

(2)由于我想保留我的GUI并且也解决了这个问题,我读到了禁用JIT的可能性,如何在程序中将其写为一段代码,因此在运行时,JIT被禁用我的应用程序的运行时间。

谢谢。

1 个答案:

答案 0 :(得分:2)

使用-Xint选项运行程序,"以仅解释模式运行应用程序。禁用对本机代码的编译,并且解释器执行所有字节码。在这种模式下,即时(JIT)编译器提供的性能优势不存在。"

作为一个具体示例,此AnimationTest显示使用paintComponent()System.nanoTime()中花费的平均时间。使用-Xint选项,时间保持相当稳定:

java -Xint -cp build/classes overflow.AnimationTest

如果没有选项,即编译为本机代码,很容易看到绘画时间长期减少,有时甚至达到一个数量级:

java -cp build/classes overflow.AnimationTest