【发布时间】:2013-05-20 14:14:37
【问题描述】:
据我了解,Chrome 中的 V8 引擎一直在使用汇编级优化,现在(在撰写本文时)即将在 Firefox 上发布的 OdinMonkey 表明大量的低级优化正在写入JavaScript 浏览器。
我希望这是在 SO 的礼仪之内,但我的问题是三个方面...
(我想可能会删除一个特定的问题)——关于 Firefox 的 OdinMonkey/asm.js 优化——这是“我们”必须专门编写的代码吗?还是它类似于 V8 引擎,因为这一切都发生在“幕后”?我看到的关于这个特定主题的资料似乎相互矛盾。
更一般地说(也许是一个更相关的问题)是否有关于编写 JavaScript 以更好地“提前”/组装/等的最佳实践。优化?例如,我读到使用按位移位来舍入数字可能会改善优化,但是,根据浏览器的不同,它可能几乎没有收益。
将其纳入第三个问题以防止混淆 — 最后,客户端装配级优化是否毫无结果? “我们”作为编码人员是否应该尽我们所能来生成高效的 JavaScript 代码,并让优化程序尽其所能?
【问题讨论】:
-
asm.js 必须专门编码;它是 JavaScript 的一个(非常)限制性子集。除此之外……相当主观的领域:)
-
不要为它编码。是的,我说过。相反,在特定浏览器/环境中的特定代码段上运行性能配置文件,并努力优化该iff 它恰好“太慢”。也就是说,我相信它会更有成果为效果编码而不是实现..
-
感谢 rynah 和用户.... 我认为那里的“iff”非常重要。也许我太挑剔了\只关注代码的一个小方面,而不是更大的图景!谢谢
标签: javascript assembly browser v8