首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大功能的WebAssembly慢吗?

大功能的WebAssembly慢吗?
EN

Stack Overflow用户
提问于 2018-05-01 07:00:34
回答 1查看 364关注 0票数 0

Emscripten有一个标志OUTLINING_LIMIT来获得较小的函数,这些函数可以通过浏览器的JIT进行优化,而不像大型函数那样会被解释。这是否也适用于WASM,即功能大的WASM是否会变慢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 15:46:48

您引用的文档对于当前的WebAssembly实现是不准确的。现在只有Chakra有一个解释器,任何“热”函数都可以编译JIT,而不管大小如何。只有JIT编译和“热”函数的JavaScriptCore实现可以在更高的优化级别上重新编译。

话虽如此,概述具有以下几个优点:

  • .wasm二进制文件可以变小。这意味着下载速度更快。
  • 从理论上讲,如果我们开始在网络上看到大量的小功能,引擎可以重新排列它们,这样你就不会因为大纲而导致性能损失。
  • 大型函数有时需要更长的时间来编译JIT,通常编译是非线性的(不过,引擎也会随着时间的推移而变化,如果这成为一个普遍的问题,它可以更好地处理大型函数)。
  • 引擎通常在每个函数的边界上并行编译,因此更多的小函数更好地并行编译,并更多地填充编译管道(特别是在编译的最后,如果只剩下几个大函数来编译核心就不会被使用)。这是个很小的问题,我不太担心。

然而,所有这些都在不断变化,引擎实现者会对我们在Web上看到的东西做出反应,并调优引擎以更好地处理现实世界的代码。做正确的事情通常是很好的,如果你看到了病状,并在每个引擎上记录错误。在这里,这可能意味着通过使用大纲减少下载大小,并期待良好的重新衬里发生。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50112540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档