gpt4 book ai didi

performance - 对于您的复杂算法,您如何衡量其性能?

转载 作者:行者123 更新时间:2023-12-03 16:06:08 25 4
gpt4 key购买 nike

现在让我们假设您已经缩小了应用程序中典型瓶颈的位置。据您所知,这可能是您运行的批处理过程来重新索引您的表;它可能是在您的生效日期树上运行的 SQL 查询;它可能是几百个复合对象的 XML 编码。换句话说,你可能有这样的事情:

public Result takeAnAnnoyingLongTime(Input in) {
// impl of above
}

不幸的是,即使在您确定了瓶颈之后,您所能做的就是消除它。没有简单的解决方案可用。

您如何衡量瓶颈的性能,以便您知道您的修复正朝着正确的方向前进?

最佳答案

两点:

  • 当心臭名昭著的“优化空闲循环”问题。 (例如,请参阅“Porsche-in-the-parking-lot”标题下的 optimization story。)也就是说,仅仅因为例程花费了大量时间(如您的分析所示),不要认为它是负责任的对于用户认为的缓慢性能。
  • 最大的性能提升通常不是来自对算法实现的巧妙调整或优化,而是来自于意识到完全有更好的算法。一些改进相对明显,而另一些则需要对算法进行更详细的分析,并且可能对所涉及的数据结构进行重大更改。这可能包括在处理器时间和 I/O 时间之间进行权衡,在这种情况下,您需要确保不只优化其中一项措施。

  • 回到所提出的问题,确保您测量的任何内容都代表用户实际体验的内容,否则您的努力可能完全是在浪费时间。

    关于performance - 对于您的复杂算法,您如何衡量其性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/165751/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com