Javascript优化如何与C优化相比较

时间:2012-09-27 00:47:47

标签: javascript c optimization

我目前处于低级C级,但我将Javascript编程为我的工作。

到目前为止,我的书已经过了几个C优化/问题领域(刚刚开始,所以我没有太多):

  • 程序开销(恢复寄存器,创建堆栈等)
  • 有时创建临时变量而不是循环读取/写入内存。

另外可以花多少时间'优化'Javascript? C被编译为机器代码,并且可以花费更多时间来编译可执行文件。在典型的JS编译器优化中花了多少时间?

Javascript是一种比C更高级的语言,因此我实际上并不“知道”下面发生了什么。我应该担心哪些优化?我现在在C学习的内容也适用于Javascript吗?

1 个答案:

答案 0 :(得分:4)

Javascript和C有如此根本不同的表达方式,我怀疑甚至可以比较优化技术。

对于这篇文章,我将只看一下程序员可以做出的优化:

<强> C:

  • 选择最合适的数据类型。 (INT /长/浮动/双)
  • 位字段和字边界对齐。
  • 使用malloc并选择何时释放内存以及何时重复使用它。
  • 中级计算

<强>使用Javascript:

  • 在需要时避免创建无意义的对象。对象重用
  • 中级计算
  • 经常避免刷新DOM
  • 将大量未使用的引用设置为null

就像一个简单的例子。这两者确实是天壤之别,所以我必须将优化技术简化为:

  • 重复使用
  • 不要做你不需要的东西。
  • 如果你做一些计算成本高昂的东西而又需要它 - 保存它。
  • 选择合适的算法。

就我而言,列表中的最后一项是任何编码人员可以学习如何做的最重要的优化。

  • 如果您有更好的使用方式,请不要使用BogoSort。 (提示,你这样做。)
  • 查看您的标准库是否可以快速执行您想要执行的操作。在你证明你的旧车轮无法工作之前,不要重新发明轮子。
  • 在进行分析表明你值得付出努力之前,不要过分担心进行微观优化。

免责声明:是的,我知道“过早优化是万恶之源”的古老格言。选择一种聪明的,或者至少不是非常愚蠢的方式来解决问题是过早..