常见的优化规则

maf*_*afu 2 optimization

这是一个危险的问题,所以让我试着正确地说出来.过早优化是所有邪恶的根源,但如果你知道你需要它,那么应该考虑一套基本的规则.这套是我想知道的.

例如,假设您有几千个项目的列表.如何查找具有特定ID的项目?当然,您只需使用Dictionary将ID映射到项目.

如果您知道存储在数据库中的设置始终是必需的,那么您只需缓存它而不是每秒发送数百次数据库请求.

甚至可以像在prod中使用发行版而不是调试版本一样简单.

我想还有一些更基本的想法.

我特别不是在寻找"不要这样做,对于专家:不要这样做"或"使用探查器"的答案,但对于非常简单的一般提示.如果你觉得这是一个争论性的问题,你可能会误解我的意图.

我也不是在寻找任何项目的具体建议,也不是任何复杂的低级技巧.可以将其视为如何避免作为初学者所犯的最重要的性能错误的概述.

编辑:这可能是我正在寻找的一个很好的描述:为具有基本技术理解的人创建一个共同优化规则的演示文稿(不是一个实际例子)(假设他们获得了CS学位)但由于某种原因从未写了一行代码.指出最重要的方面.伪代码很好.不要假设特定语言甚至架构.

小智 5

两条规则:

  • 使用正确的数据结构.

  • 使用正确的算法.

我认为这涵盖了它.