The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 12 WebAssembly Proposal Projects
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Project mention: Bring garbage collected programming languages efficiently to WebAssembly | news.ycombinator.com | 2023-11-03It may take some time for WasmGC to be usable by .NET. Based on the discussions the first version of WasmGC does not have a good way to handle a few .NET specific scenarios, and said scenarios are "post-post-mvp". [0]
My concern, of course, is that there is not much incentive for those features to be added if .NET is the only platform that needs them... at that point having a form of 'include' (to where a specific GC version can just be cached and loaded by another WASM assembly) would be more useful, despite the pain it would create.
[0] - https://github.com/WebAssembly/gc/issues/77
Project mention: No installation required: how WebAssembly is changing scientific computing | news.ycombinator.com | 2024-03-12Similarly for threads: https://github.com/webassembly/threads
A completed implementation of memory64 for memory-hungry applications.
Project mention: Bring garbage collected programming languages efficiently to WebAssembly | news.ycombinator.com | 2023-11-03Interesting article, thanks!
Notes on the issues mentioned there:
* The need for a manual shadow stack: This is fixed in WasmGC (in the same way it works in JS, as the link mentions).
* Lack of try-catch: This is fixed by the Wasm exception handling proposal, which has already shipped in browsers, https://github.com/WebAssembly/exception-handling/blob/main/...
* Null checks: Mostly fixed by WasmGC. The spec defines non-nullable local types, and VMs can use the techniques the article mentions to optimize them using signals (Wizard does, for example).
* Class initialization: This is a difficult problem, as the article says. J2Wasm and Binaryen are working to optimize it through static analysis at the toolchain level. Here is a recent PR I wrote that makes progress there: https://github.com/WebAssembly/binaryen/pull/6061
* The vtable overhead issue the article mentions may be a problem. I'm not aware of good measurements on it, through. There are some ideas on post-MVP solutions for method dispatch that might help, but nothing concrete yet.
* Checks for null and trapping: There has been discussion of variants on the GC instructions that throw instead of trap. Measurements, however, have not shown it to be a big problem atm, so it is low priority.
The author is right that stack walking, signals, and memory control are important areas that could help here.
Overall with WasmGC and exceptions we are in a pretty good place for Java as emitted by J2Wasm today: it is usually faster than J2CL which compiles Java to JavaScript. But there is definitely room for improvement.
Support for multi-memory to deal with multiple memories in Wasm.
Support for tail-calls to perform tail-call optimizations.
Project mention: Mojo – a new programming language for all AI developers | news.ycombinator.com | 2023-05-02Wonderful language. Only complaint (so far) : SIMD should be named Vector and dispatched to whatever SIMD/vector pipeline the host offers, similar to Flexible Vectors proposal in WASM: https://github.com/WebAssembly/flexible-vectors/blob/main/pr...
Support for relaxed SIMD operation to unleash next-level performance.
Indeed, webassembly is moving extremely slowly. I started a project years ago expecting https://github.com/WebAssembly/memory-control/blob/main/prop... and https://github.com/WebAssembly/memory64 to be fixed at some point. Neither are yet, and the project still suffers from it to this day.
I think wasm is still great without these fixes, but I have lost confidence in the idea that wasm will reach its full potential any time soon.
WebAssembly Proposal related posts
- Old CSS, new CSS (2020)
- Top 8 Recent V8 Updates
- No installation required: how WebAssembly is changing scientific computing
- WebAssembly: Adding atomics waits to the main thread is the right thing to do
- WebAssembly: Adding atomics waits to the main thread is the right thing to do
- Bring garbage collected programming languages efficiently to WebAssembly
- Extism Makes WebAssembly Easy
-
A note from our sponsor - WorkOS
workos.com | 26 Apr 2024
Index
What are some of the best open-source Proposal projects in WebAssembly? This list will help you:
Project | Stars | |
---|---|---|
1 | gc | 924 |
2 | threads | 667 |
3 | memory64 | 176 |
4 | exception-handling | 142 |
5 | multi-memory | 115 |
6 | tail-call | 106 |
7 | function-references | 93 |
8 | flexible-vectors | 43 |
9 | relaxed-simd | 36 |
10 | memory-control | 19 |
11 | proposal-type-imports | 19 |
12 | feature-detection | 11 |
Sponsored