SIMD.JS - SIMD APIs ?
提案概览
- 阶段: 未分阶段
- 状态: 不活跃
- ECMAScript 版本: —
- 同步时间: 2026年8月26日
- English original · 官方仓库
提案速览
该提案为 JavaScript 引入了 SIMD API,允许对打包数据类型进行向量化操作以提升性能。js 操作实现 SIMD。该仓库保留为历史快照,包括文档、polyfill、测试和基准示例。
Note
以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。
SIMD.js
===============
SIMD.js 已从 TC39 的积极开发中移除,并从 Stage 3 中撤销,浏览器不再追求对其进行实现。暴露给 Web 的 SIMD 操作在 WebAssembly 中处于积极开发状态,其操作基于 SIMD.js 操作。随着 WebAssembly 在多个浏览器中的高级开发或发布,它似乎是一个足够合适的载体来涵盖 asm.js 的使用案例,这些案例被认为更广泛。尽管一些开发者表示有兴趣在 asm.js 之外使用 SIMD.js,但实现者发现,为这种情况可靠地实现和优化会带来大量复杂性,因此决定专注于在 WASM 中交付 WebAssembly 和 SIMD 指令。
参见 https://github.com/WebAssembly/simd 了解当前开发情况。
此仓库保留了 SIMD.js 规范工作的历史快照:
- 权威的 API 参考文档由 tc39/spec.html 生成。您可以在 http://tc39.github.io/ecmascript_simd/ 查看渲染后的副本。
- 位于 src/ecmascript_simd.js 的 polyfill,虽然无法实现值语义,但包含了所有函数的正确实现。
- 位于 src/ecmascript_simd_tests.js 的大量测试,可以使用 src/ 中的其他文件运行。基准测试和示例代码位于同一目录。
- 一份解释动机和概述方法的演示文稿,位于 tc39/SIMD-128 TC-39.pdf。