当前位置:  开发笔记 > IOS > 正文

Delphi代码完成性能

如何解决《Delphi代码完成性能》经验,为你挑选了2个好方法。

我有一些大的(~600k代码行)Delphi项目.它们包括我们团队开发的一些自定义组件.

通常,当我使用ctrl + space调用代码完成或仅按"."时,IDE会锁定并长时间认真思考.有时延迟可能是一分钟或更长时间.其他时候,它会立即弹出建议.

哪些因素会影响Delphi中intellisense的性能?有什么办法可以改善这种表现吗?

到目前为止,我最好的解决方案是关闭自动完成,并在我需要静静地冥想一分钟左右时使用ctrl + space.

我不禁要提到VS2005,VS2008和XCode似乎都提供了几乎即时的智能感知反馈(尽管我从来没有尝试过这么大的项目).

作为替代方案,我提出了这个建议.



1> Adam Markowi..:

当用户请求Code Insight(Ctrl + Space,'.'等)时,Delphi Code Insight调用编译器dll进行自定义编译.这个自定义编译在单元中进行构建,并跳过codegen,链接等,直到它达到文件缓冲区中的当前偏移量.考虑到这一点,编译器在到达当前位置之前看到的单元列表将在确定Code Insight操作的速度时起到很大的作用.可能有一个单元(或多个单元)导致严重的文件系统依赖等.很可能重新排序uses子句,将uses子句重构为多个文件,或者删除uses子句中的单元'您当前单元编译所需的可能会提高性能.此外,使用包或缩短单位搜索路径可能会缩短CI响应时间.



2> François..:

请务必明确包含项目在dpr中使用的所有单位(*).
不要依赖搜索路径来查找从另一个单元调用的单元,将其添加到dpr.dpr会更长,但所有与编译相关的东西都会更快,包括代码洞察力.

(*)不是已安装组件的单位.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有