cde*_*zaq 10 language-agnostic optimization
计算机科学和编程中最常见的咒语之一是永远不要过早地进行优化,这意味着在发现问题之前不应优化任何内容,因为代码可读性/可维护性可能会受到影响.
但是,有时您可能知道某种特定的做事方式会表现不佳.在确定问题之前何时可以优化?从一开始就允许哪种优化?
例如,使用尽可能少的数据库连接,并在开发过程中密切关注它,而不是根据需要使用新连接,并担心以后的性能成本
Mar*_*usQ 25
我想你错过了那个格言.如果从一开始就以最有效的方式做事,那也没有错,只要它也清晰,直接,等等.
关键是你不应该把自己(更糟糕的是,你的代码)绑在试图解决甚至可能不存在的问题的结上.保存这种极端优化级别,这些优化通常在开发,维护,技术债务,错误滋生,可移植性等方面成本高昂,适用于您真正需要的情况.
sim*_*mon 14
我觉得你看错了.避免过早优化的关键不是避免优化,而是要避免你可能陷入的心态.
以最清晰的方式编写算法.然后确保它是正确的.然后(并且只有那时)担心性能.但也要考虑维护等
如果您遵循这种方法,那么您的问题就会自行解决.从一开始就允许的唯一"优化"是那些至少与直接方法一样清晰的"优化".
你可以在最优化的任何时间挑选该问题的正确算法.令人惊讶的是,一个小小的想法经常产生一个更好的方法,可以节省数量级,而不是几个百分点.这是一场彻底的胜利.
要寻找的东西: