Hello!
I just wanted to briefly share some use cases for this in the Dart world.
We are working on adding better SIMD support to the dart2wasm compiler in Dart.
One of the use cases we can't support right now is an efficient SIMD based scan.
To be able to efficiently scan through a byte stream (or a string to implement the memchr equivalent in Dart called indexOf) using SIMD we'd need to have the ability to reinterpret parts of the backing storage as appropriate types that allow us to cheaply treat a chunk of it as a SIMD type.
Here's some more Dart use cases from another perspective from @osa1 in WebAssembly/gc#395 (comment)
An 8x unrolled SIMD based scan can achieve 120GB/s on a modern mac using NEON. It would be great if use cases like these could be opened up with this proposal. Experiments show that we are at least an order of magnitude away from being able to reach those numbers with wasm gc.
Hello!
I just wanted to briefly share some use cases for this in the Dart world.
We are working on adding better SIMD support to the dart2wasm compiler in Dart.
One of the use cases we can't support right now is an efficient SIMD based scan.
To be able to efficiently scan through a byte stream (or a string to implement the memchr equivalent in Dart called
indexOf) using SIMD we'd need to have the ability to reinterpret parts of the backing storage as appropriate types that allow us to cheaply treat a chunk of it as a SIMD type.Here's some more Dart use cases from another perspective from @osa1 in WebAssembly/gc#395 (comment)
An 8x unrolled SIMD based scan can achieve 120GB/s on a modern mac using NEON. It would be great if use cases like these could be opened up with this proposal. Experiments show that we are at least an order of magnitude away from being able to reach those numbers with wasm gc.