Javascript 和 C 有如此完全不同的表达方式,我怀疑甚至可以比较优化技术。
对于这篇文章,我将只看程序员可以进行的优化:
C:
- 选择最合适的数据类型。(int/long/float/double)
- 位域和字边界对齐。
- 使用
malloc
和选择何时释放内存以及何时重用它。
- 中间计算
Javascript:
- 避免在需要时创建无意义的对象。对象重用
- 中间计算
- 避免过于频繁地刷新 DOM
- 将大量未使用的引用设置为
null
就像一个简单的例子。这两者真的是天壤之别,所以我必须将优化技术简化为:
- 重用你能做的
- 不要做你不需要做的事情。
- 如果你做了一些计算成本很高的事情并且你再次需要它——保存它。
- 选择合适的算法。
就我而言,列表中的最后一项是任何编码人员都可以学习如何做的最重要的优化。
- 如果您有更好的分类可以使用,请不要使用BogoSort 。(提示,你会的。)
- 看看你的标准库是否有一个快速的方法来做你想做的事情。在你证明你的旧轮子不起作用之前,不要重新发明轮子。
- 在分析表明值得付出努力之前,不要太担心进行微优化。
Disclaimer: Yes, I know the old adage of 'Premature optimization is the root of all evil.' Choosing a smart, or at the very least, not terribly dumb way to solve a problem is not premature..