AQTime可以肯定地做到这一点。您可以选择要包括的任何模块。但是,如果您将要使用Delphi 2010,他们还没有将其集成到IDE中。实际上,就在几周前,他们终于让他们的Delphi 2009集成工作正常了——在D2009发布一年后,从我最初的看法来看,它似乎存在错误。
AQTime的价格也非常昂贵,为600美元。如果您确实想购买,可以从
他们的合作伙伴那里购买,那里您可以节省一些钱(例如,Falafel将其提供的价格为500美元,而不是600美元)。
以下是我的个人抱怨:那是一项可怕的政策,让我感到反感。您购买直接从供应商处不应该支付更多费用。他们应该让他们的合作伙伴以相同的价格销售,并给他们一定的比例,或者他们根本不应在自己的网站上提供,只列出您可以购买它的合作伙伴。
但是即使考虑到这些问题,AQTime是我发现的唯一一个能够出色地提供逐行执行计数和时间的工具。它给出的最终结果使其非常有价值,在过去的一年里,我在StackOverflow上回答了许多关于分析的问题,可能最终会得出结论(我正在进行第三次尝试,因为他们已经添加了D2009集成)。
我的主要问题如下:
我已经尝试回答以下问题:
尽管Mason有评论说AQTime在分析时太慢了,但只要您仅对正在优化的程序进行分析,我并不认为它会太慢。只是不要总是对所有东西都开启分析。
我之前也试过采样分析器,但它对我来说不起作用。似乎90%的结果都是在系统例程中,字符串复制和移动占据了大部分。这对我没有帮助。我需要知道我的程序中哪些行调用了那些移动和复制操作。
如果您想要一个好的免费工具,我强烈推荐
asmprofiler。它实际上是一个非常好的分析工具,类似于AQTime,提供非常出色的分析结果。唯一的缺点是它只分析到过程级别而不是行级别,这也是我更喜欢AQTime的原因。
另外,对于微小优化,他们说不要依赖AQTime。我现在已经做了很多测试,越来越被AQTime以及它的行级信息所帮助,找到那些需要微小优化的地方。这本身就使得该产品值得购买。
如果asmprofiler中添加了行级信息,那就再好不过了。但是,如果Embarcadero最终决定在Delphi中
添加内置性能分析器,那不是更好吗?我写这篇文章的时候,它在Delphi UserVoice上排名第10位。
在此投票以提高其排名!