news.volyx.in

WASM 3.0 Completed (webassembly.org)

1086 points by todsacerdoti · 312 days ago · 494 comments on HN

Article summary

The WebAssembly (Wasm) 3.0 standard has been released, introducing several new features, including 64-bit address space, multiple memories, garbage collection, and exception handling. These updates aim to improve the performance and capabilities of Wasm, making it more suitable for compiling high-level programming languages. The new features are already being utilized by various languages, such as Java, OCaml, and Kotlin. Wasm 3.0 is currently shipping in most major web browsers and stand-alone engines.

Main themes

  • WebAssembly 3.0 features
  • Garbage collection
  • Performance optimization
  • Language support
  • Memory management
  • Exception handling

What commenters say

  • The introduction of 64-bit memory in Wasm 3.0 may lead to performance regressions due to the potential loss of bounds check elision.
  • The addition of garbage collection to Wasm is a significant improvement, allowing for more efficient support of high-level languages.
  • Some commenters argue that the requirement for out-of-bounds access to immediately abort the program is rough for performance, and that implementations should be allowed to handle it silently.
  • The use of Wasm's garbage collector can reduce code size and development effort for garbage-collected languages, but may not be beneficial for languages that already have their own GC implementation.
  • The new features in Wasm 3.0 may make it more suitable for usage on embedded targets, but others argue that the garbage collection approach may not be ideal for such use cases.
  • Some commenters believe that the introduction of garbage collection and exception handling is unnecessary and may be a mistake, while others see it as a necessary step for improving Wasm's capabilities.
  • The benefits of using Wasm's garbage collector are debated, with some arguing that it reduces development effort and code size, while others see it as less beneficial for languages that already have their own GC implementation.
  • The approach to garbage collection in Wasm 3.0 is seen as a good compromise, allowing for low-level control and flexibility while still providing a built-in GC solution.