V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

wasm 性能怎么样?为什么一直有“无 gc 的 wasm 性能不如带 gc 的 js”的言论?

  •  
  •   zjsxwc ·
    zjsxwc · 2022-09-09 09:11:10 +08:00 · 1531 次点击
    这是一个创建于 804 天前的主题,其中的信息可能已经有所发展或是发生改变。

    wasm 真的拉跨?

    第 1 条附言  ·  2022-09-09 11:25:40 +08:00
    第 2 条附言  ·  2022-09-09 11:31:33 +08:00
    https://takahirox.github.io/WebAssembly-benchmark/

    这个比较了 wasm 与 js 性能,看来
    https://takahirox.github.io/WebAssembly-benchmark/tests/multiplyInt.html

    wasm 大部分时候大概有 20%到 30%的性能提升
    fengjianxinghun
        1
    fengjianxinghun  
       2022-09-09 09:47:43 +08:00
    看编译器 /解析器实现,实现的差 c 都可以比 js 烂
    heboy
        2
    heboy  
       2022-09-09 09:50:18 +08:00
    我记得大概是说,WASM 和 JS 峰值性能一样,平均性能 WASM 更好。
    理由是,WASM 是中间码(技术名词忘了,有点类似字节码的概念吧),引擎解析成机器码然后执行。JS 因为 JIT 所以首次还是边解释边执行,hot path 的部分会解析成机器码,也就是峰值性能一样。
    GC 可能是说部分程序员本身对内存缺乏管理经验导致写出的代码存在缺陷,影响性能吧
    7c00
        3
    7c00  
       2022-09-09 11:51:05 +08:00
    看编译器,和代码实现。说一个 wasm 性能糟糕的例子,solcjs ,这是 solidity 官方编译的 wasm 版本用于运行在 js 环境,和原生 solc 相比,内存、cpu 占用能差 100 倍以上。
    hez2010
        4
    hez2010  
       2022-09-09 13:26:01 +08:00
    wasm 在有 JIT 的时候比 js 强,但是比原生还是要差远了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1007 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.