一些 CPU 密集型例程在通过调试器运行时会显着变慢。为什么是这样?
目前我只是使用 IntelliJ 来逐步执行在 JBoss 中运行的代码。当我启动 JBoss 时,我使用以下选项:
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=256m -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n %JAVA_OPTS%
有没有办法加快执行速度?或者加快某些我不需要逐步执行的方法执行?
更新:似乎如果我不跳过/进入 CPU 密集型例程(即:只运行到在例程之后设置断点),那么执行时间就好像不在一个调试器。
最佳答案
Some CPU intensive routines get dramatically slower when run through a debugger. Why is this?
因为启用调试时,JITter 不会优化代码(通常,根本不会)。
关于java - 为什么 Java 代码在调试器中变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2195720/