iswasmfast
design
iswasmfast | design | |
---|---|---|
4 | 46 | |
195 | 11,422 | |
- | 0.1% | |
0.0 | 3.9 | |
almost 2 years ago | 8 months ago | |
JavaScript | ||
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
iswasmfast
-
Pay Attention to WebAssembly
At a glance, the bindings for wasm copy the data,
https://github.com/zandaqo/iswasmfast/blob/54bbb7b539c127185...
If the running code is short enough then that copy might easily make the wasm version much slower. That is indeed a known downside of wasm (calls to JS are somewhat slow, and copying of data even more so - wasm shines when you can avoid those things).
If it's not that, then a 10x difference suggests you are running into some kind of a VM bug or limitation.
-
Node.js 16 Available Now
WASM has its moments, as you can see in this[1] benchmark it outperforms JS and native addons on certain tasks.
Since the bottleneck with native addons is usually data copying/marshalling, and we have direct access to WebAssembly memory from the JavaScript side, using WebAssembly on this "shared" memory might become the best approach for computationally heavy tasks. I wrote about it a bit here[2].
[1] https://github.com/zandaqo/iswasmfast
-
Is WebAssembly magic performance pixie dust?
A few years ago I did similar comparison but in context of Node.js and sans manual optimizations: https://github.com/zandaqo/iswasmfast
In my work, I have come to conclusion that it seldom pays off to go "native" when working with Node.js. More often than not, rewriting some computationally heavy code in C and sticking it as a native module yielded marginally better results when compared with properly optimized js code. Though, that doesn't negate other advantages of using said technologies: predictable performance from the start and re-using existing code base.
design
-
Level Up Your WordPress Skills with WebAssembly
At Macronimous, we've been building with WordPress since the early days – way back in 2007! We've seen it evolve from a simple blogging platform to a powerful content management system that powers a huge chunk of the web. And while PHP, JavaScript, and MySQL remain the core of WordPress development, there's a new kid on the block that's worth exploring: WebAssembly (Wasm)., While not essential for every project, Wasm offers exciting new possibilities for developers looking to push the boundaries of what's possible with WordPress.
-
Some Developer Tools I've Created
Most importantly, it is implemented using frontend technologies, requiring no server costs, so you don't need to worry about privacy issues. Its implementation is similar to squoosh, both leveraging WebAssembly.
-
Run a Virtual Machine in Your Browser
But seriously, let's have some fun showcasing just how powerful modern browsers have become, especially now that they support WebAssembly (Wasm). Sure, traditional VM software is great, but being able to run an entire operating system in your browser? That's just cool! 🚀
-
Build your own edge computing app
Although we're coding our app in JavaScript, what happens with edge computing is quite different from writing JS for environments like the browser or web server. When we develop Compute apps, Fastly is going to compile our source code into WebAssembly (Wasm).
-
Postgres Foreign Data Wrappers with Wasm
WebAssembly (Wasm) is a binary instruction format that enables secure and high-performance execution of code on the web. It is originally designed for web browsers, but now can also be used in server-side environments like Postgres.
-
The ABC of Steller: The Untold Story of McCaleb
This will generate a WebAssembly (WASM) file that can be deployed to the Stellar network.
-
Trending in Web Development in 2024
WebAssembly.org
-
Dynamic Translation of Smalltalk to WebAssembly
I found a discussion with some explanations to why that is and what other solutions could be looked at:
https://github.com/WebAssembly/design/issues/1184
-
The Future of Web Development: Exploring WebAssembly (Wasm)
I hope you find this post exciting and informative! Feel free to tweak it as needed to better fit your style or add any additional insights you have. Happy coding! 🚀 WebAssembly website contact
-
This should be Drupal Starshot's Destination
And wouldn't it be awesome if it was WebAssembly based?
What are some alternatives?
neon - Rust bindings for writing safe and fast native Node.js modules.
content - The content behind MDN Web Docs
expresscpp - Fast, unopinionated, minimalist web framework for C++ Perfect for building REST APIs
wave - Realtime Web Apps and Dashboards for Python and R
friendly-pow - The PoW challenge library used by Friendly Captcha
Chevrotain - Parser Building Toolkit for JavaScript
human-asmjs - Tips and tricks for writing asm.js as a human - Note: WebAssembly has replaced asm.js, so this is no longer maintained.
WebViewFeedback - Feedback and discussions about Microsoft Edge WebView2
scope_guard - A modern C++ scope guard that is easy to use but hard to misuse.
interface-types
rabin-wasm - Rabin fingerprinting implemented in WASM
simd - Branch of the spec repo scoped to discussion of SIMD in WebAssembly