不是你想象的那么快:WebAssembly 与原生代码性能对比分析

💡 原文中文,约23500字,阅读约需56分钟。
📝

内容提要

WebAssembly的性能与原生代码相比存在显著差距,复杂应用中运行速度慢45%至55%。尽管某些基准测试接近原生性能,但整体表现不佳,主要因优化不足和平台限制。

🎯

关键要点

  • WebAssembly的性能与原生代码相比存在显著差距,复杂应用中运行速度慢45%至55%。
  • 尽管某些基准测试接近原生性能,但整体表现不佳,主要因优化不足和平台限制。
  • WebAssembly旨在成为可在浏览器中运行的通用编译目标,支持多种编程语言。
  • 当前主流浏览器均已支持WebAssembly,并已被多种编程语言迅速采用。
  • WebAssembly的设计目标包括快速编译与运行特性,支持跨浏览器及架构的移植性。
  • 现有的基准测试主要集中在小型科学计算内核,无法代表WebAssembly的预期应用场景。
  • Browsix-Wasm是对Browsix的扩展,支持在浏览器中运行未经修改的Unix应用程序。
  • 使用Browsix-Wasm进行的SPEC CPU基准测试显示WebAssembly的性能明显低于原生代码。
  • Browsix-Wasm的开销可忽略不计,不会显著影响WebAssembly环境下程序的性能计数器结果。
  • WebAssembly在Chrome和Firefox中的性能表现均逊于原生代码,平均运行速度分别慢1.55倍和1.45倍。
➡️

继续阅读