wai*_*933 3 java recursion performance profiling
我正在努力用Java重构一些代码,所以我正在计算时间以确保代码不会变慢.但是,新的重构代码似乎比原始代码花费更多时间.值得注意的是,当我使用分析器运行代码时,新代码明显快于旧代码.主要区别在于旧代码是递归的,而新代码是迭代的.分析器可以将递归代码影响几十万,而只影响迭代代码1.5倍?
我在Mac OS X 10.6.6,3 GB RAM,2.4 GHz CPU上运行,使用默认的Netbeans 6.9分析器和Java 1.6.0__22 64位服务器.
(两种方法都使用System.currentTimeMillis()进行自我定时代码,以便我可以比较不使用分析器的时间,但这不应该明显影响事物.)
是.大多数配置文件在方法调用级别执行检测.在递归形式中,分析器必须采用比迭代形式更多的测量.虽然分析器确实尝试从报告的数字中提取其开销,但这很难做到可靠.不同的剖析器会更好/更差.
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |