分析 WebAssembly 与原生代码的性能
Analyzing the Performance of WebAssembly vs. Native Code

原始链接: https://ar5iv.labs.arxiv.org/html/1901.09056

该基准测试比较了 Google Chrome 和 Mozilla Firefox 在一系列测试(401.bzip2、429.mcf 等)中的性能。结果以平均执行时间以及误差范围(±)呈现。 通常,Firefox 在大多数基准测试中表现出比 Chrome 较慢的性能。 “减速”指标量化了这一点:Firefox 平均慢 1.55 倍(几何平均值)和 1.53 倍(中位数)。 在像 `644.nab_s` 这样的测试中,观察到显著的性能差异,Firefox 耗时明显更长(3639/3829),而 Chrome 为 (2476)。 然而,一些基准测试显示出可比的结果(例如,`450.soplex`)。 数据提供了详细的比较,突出了 Firefox 整体性能的滞后,但也确定了差异不太明显的领域。

## WebAssembly 与原生代码性能:总结 最近的一项分析(来自2019年,此后有所改进)探讨了WebAssembly (Wasm) 与原生代码的性能对比。研究发现,在浏览器环境中运行并使用自定义Unix内核模拟的Wasm,速度比原生执行慢约45%。 尽管存在性能差距,评论员强调了使用Wasm在浏览器中运行未修改的Unix程序的令人印象深刻的成就。讨论的重点是Wasm在*浏览器之外*的潜力——特别是用于一次编译、随处运行的应用,并具有强大的沙箱功能。 许多用户已经利用Wasm来实现这一目的,并提到了跨语言兼容性和简化部署等好处。 虽然有些人提倡使用成熟的技术,如Docker,但另一些人认为Wasm在需要低延迟、小占用和大量隔离进程的场景中表现出色(例如游戏插件或Actor系统)。 此外,还提到Wasm有可能与Lua和eBPF竞争,以提供安全的沙箱环境。 最终,许多人认为Wasm是一项很有前途的技术,特别是如果性能可以提高到原生速度的10-15%以内。
相关文章

原文
Benchmark Native Google Chrome Mozilla Firefox 401.bzip2 370 ±plus-or-minus\pm 0.6 864 ±plus-or-minus\pm 6.4 730 ±plus-or-minus\pm 1.3 429.mcf 221 ±plus-or-minus\pm 0.1 180 ±plus-or-minus\pm 0.9 184 ±plus-or-minus\pm 0.6 433.milc 375 ±plus-or-minus\pm 2.6 369 ±plus-or-minus\pm 0.5 378 ±plus-or-minus\pm 0.6 444.namd 271 ±plus-or-minus\pm 0.8 369 ±plus-or-minus\pm 9.1 373 ±plus-or-minus\pm 1.8 445.gobmk 352 ±plus-or-minus\pm 2.1 537 ±plus-or-minus\pm 0.8 549 ±plus-or-minus\pm 3.3 450.soplex 179 ±plus-or-minus\pm 3.7 265 ±plus-or-minus\pm 1.2 238 ±plus-or-minus\pm 0.5 453.povray 110 ±plus-or-minus\pm 1.9 275 ±plus-or-minus\pm 1.3 229 ±plus-or-minus\pm 1.5 458.sjeng 358 ±plus-or-minus\pm 1.4 602 ±plus-or-minus\pm 2.5 580 ±plus-or-minus\pm 2.0 462.libquantum 330 ±plus-or-minus\pm 0.8 444 ±plus-or-minus\pm 0.2 385 ±plus-or-minus\pm 0.8 464.h264ref 389 ±plus-or-minus\pm 0.7 807 ±plus-or-minus\pm 11.0 733 ±plus-or-minus\pm 2.4 470.lbm 209 ±plus-or-minus\pm 1.1 248 ±plus-or-minus\pm 0.3 249 ±plus-or-minus\pm 0.5 473.astar 299 ±plus-or-minus\pm 0.5 474 ±plus-or-minus\pm 3.5 408 ±plus-or-minus\pm 1.0 482.sphinx3 381 ±plus-or-minus\pm 7.1 834 ±plus-or-minus\pm 1.8 713 ±plus-or-minus\pm 3.6 641.leela_s 466 ±plus-or-minus\pm 2.7 825 ±plus-or-minus\pm 4.6 717 ±plus-or-minus\pm 1.2 644.nab_s 2476 ±plus-or-minus\pm 11 3639 ±plus-or-minus\pm 5.6 3829 ±plus-or-minus\pm 6.7 Slowdown: geomean 1.55×\times 1.45×\times Slowdown: median 1.53×\times 1.54×\times
联系我们 contact @ memedata.com