【发布时间】:2011-04-29 14:15:42
【问题描述】:
我在我的 Java 应用程序中遇到了 JIT 破坏代码的问题。如果我禁用 JIT,一切正常,但运行速度会慢 10-20 倍。
有什么方法可以禁用特定方法或类的 JIT?
编辑: 我使用的是 Ubuntu 10.10,两者的结果相同:
OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
和:
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
【问题讨论】:
-
您是否已经提交了错误?或者您是否发现了描述您的问题的现有错误?
-
听起来不太可能是由于 JIT,不是吗?难道不是因为竞态条件(因为当你禁用 jit 时时间会改变)......
-
我只使用一个线程。我正忙着研究这个错误,但现在真的没有时间。在 JIT 编译特定方法后,该错误始终出现。现在我只是将 -XX:CompileThreshold 选项设置得足够高。
-
你试过更新版本的JDK吗?
-
责备 JVM 通常应该排在后面 :)
标签: java jvm jit jvm-hotspot