通过调试器运行时,某些占用大量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密集型例程(即:仅在例程后立即设置一个断点运行),那么执行时间就好像不在调试器中一样。
因为启用调试后,JITter不会优化代码(通常根本不会优化)。