introduces a new experimental simd/archsimd package, which can be enabled by setting the environment variable GOEXPERIMENT=simd at build time. This package provides access to architecture-specific SIMD operations. It is currently available on the amd64 architecture and supports 128-bit, 256-bit, and 512-bit vector types, such as Int8x16 and Float64x8, with operations such as Int8x16.Add. The API is not yet considered stable. We intend to provide support for other architectures in future versions, but the API intentionally architecture-specific and thus non-portable. In addition, we plan to develop a high-level portable SIMD package in the future. See the package documentation and the proposal issue for more details.
× 4 プール再利用、release ビルド、同じ画面サイズ)で揃えた上で、改めて計 測した結果がこちらです。 参考までに、初期画面と深ズーム時のスクリーンショットを添えておきます。 シーン React 版 Frame Yew 版 Frame 比 Zoom 1.9x(初期画面) 12.0 ms 10.0 ms Yew 1.2x Zoom 約 380x(中ズーム) 170.4 ms 156.6 ms Yew 1.09x Zoom 約 72,000x(深ズーム) 170.3 ms 153.3 ms Yew 1.11x SIMD使って速く 出来ないかな
GOEXPERIMENT - 2週間前にAccepted🎉 - 高レイヤーの移植性の高い(=アーキテクチャに依存しない)ベクターAPI実装 - simd.Float32s - simd.Float64s - simd.Int8s - simd.Int16s - etc. 9 In this version, the supported vector methods are those in the intersection of the wasm SIMD API and the current amd64 SIMD API; this is a small but still useful set of operations. Starting small also simplifies the emulation for those platforms that do not yet support SIMD, and also increases the chance that newly implemented SIMD support for some other architecture will easily be compatible. サイズを意識しなくともよい Wasmとamd64の共通命令 のサポートからスタート!!