我的项目大约有 400 个单元,重新启动后编译需要 20-40 秒,然后再重新编译需要 1-5 秒,到目前为止一切都很好。
工作 3-6 小时后,编译需要1-3 分钟进行后续重新编译,这迫使我每次都重新启动。
D7的某处有泄漏吗?是Windows XP的问题吗?它变得非常令人沮丧...
有人遇到过这个问题吗?
Edit1 DelphiSpeedup 似乎没有改善问题,它仍然出现......
旧版本的 Delphi 已知在 IDE 中编译的性能问题(与命令行相比),包括大量不必要的文件访问。
Delphi Speedup修复了 IDE 中的一些问题,包括对编译、链接和 Map 文件创建的改进。它可能对您的情况有所帮助。
我发现优化单位的使用子句有助于提高编译速度。在可能的情况下,在特定情况下删除对单元的引用,例如,unit1 在其接口部分使用 unit2,而 unit2 在其实现部分使用 unit1。
在http://www.peganza.com/products_icarus.htm有一个很好的免费使用条款分析器指出不需要的使用参考。
关闭编译器提示和消息会显着提高速度。
Project > Options Compiler Messages 取消选中“显示提示”和“显示消息”。
我也注意到了这一点,它似乎与关闭 Delphi 时获得的异常数量直接相关。我通常不需要重新启动计算机以恢复速度。
我的建议是进入环境选项并打开自动保存选项,这样您就可以重新启动 Delphi,而无需花费一百万年时间来找到您打开的内容。我必须这样做,因为我的调试器似乎只工作了大约一个小时。
我们最大的 Delphi 应用程序确实需要一段时间来编译,但我没有注意到后续重新编译需要更长的时间。
这是一个人的解决方案,但听起来像是在黑暗中拍摄: http ://groups.google.com/group/borland.public.delphi.ide.general/msg/9b8150342943e5d2
当 Delphi 编译开始变慢时,看看内存使用情况。一般来说, IDE 中的一些东西会泄漏(我个人最喜欢的罪魁祸首是 find-in-files 和 coderush 搜索),经过几个小时的工作,你最终可能会分配到足够的内存来真正开始减慢速度.
如果安装 DelphiSpeedup 后问题仍然存在,请尝试删除任何第三方 IDE 插件,看看是否有帮助。
您还可以检查是否有任何库路径不存在或位于映射/网络驱动器上。这些会减慢编译速度,但我不确定它们是否会导致编译速度随着时间的推移而变慢。
这个问题与那个问题类似。避免循环引用会有很大帮助。如上所述,DelphiSpeedUp 也有帮助。
哇,Delphi SpeedUp 相当可观,测试结果:
项目的完整构建:
之前:1分15秒
之后:45 秒
编译工程(源码不做改动,直接打开工程编译)
之前:1分钟
之后:20 秒