gpt4 book ai didi

algorithm - 优化! - 它是什么?它是如何完成的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:03 25 4
gpt4 key购买 nike

经常听到“高度优化的代码”或一些开发人员需要优化他们的代码等等。然而,作为一个自学成才的新程序员,我从来没有真正理解人们在谈论这些事情时到底是什么意思。

介意解释一下大概意思吗?另外,推荐一些阅读 Material ,以及任何你想对此事说的话。随意咆哮和说教。

最佳答案

优化 是我们懒洋洋地使用的一个术语,意思是“以某种方式使事情变得更好”。我们很少“优化”某些东西——更多的是,我们只是改进它直到它达到我们的期望。

优化 是我们为了优化程序的某些部分而进行的更改。一个完全优化的程序通常意味着开发人员将可读性抛在了窗外,并以非显而易见的方式重新编码算法以最大限度地减少“wall time”。 (并不是要求“优化后的代码”难以阅读,只是一种趋势。)

可以针对以下方面进行优化:

  • 内存消耗 - 使程序或算法的运行时大小更小。

  • CPU 消耗 - 降低算法的计算强度。

  • Wall time - 不惜一切代价让事情变得更快

  • 可读性 - 与其让您的应用更适合计算机,不如让人们更容易阅读它。

优化代码的一些常见(和过度概括)技术包括:

  • 更改算法以提高性能特征。如果您的算法需要 O(n^2) 的时间或空间,请尝试用 O(n * log n) 的算法替换该算法。

  • 要减轻内存消耗,请检查代码并查找浪费的内存。例如,如果您有一个字符串密集型应用程序,您可以切换到使用子字符串引用(其中引用包含指向字符串的指针,以及定义其边界的索引),而不是从原始字符串分配和复制内存。

  • 为了减轻 CPU 消耗,尽可能多地缓存中间结果。例如,如果您需要计算一组数据的标准偏差,请保存该单个数值结果,而不是在每次需要了解标准偏差时循环遍历该组数据。

关于algorithm - 优化! - 它是什么?它是如何完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587049/

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