Analysis updated 2026-07-18 · repo last pushed 2018-10-05
Run C/C++ code compiled to WebAssembly directly on a Linux server without needing a browser.
Load performance-critical WebAssembly programs into the Linux kernel itself for faster syscall handling.
Build a high-performance web server or custom file system where every microsecond of syscall latency matters.
| syrusakbary/wasmjit | ac000/find-flv | acc4github/kdenlive-omnifade | |
|---|---|---|---|
| Stars | — | — | 0 |
| Language | C | C | C |
| Last pushed | 2018-10-05 | 2013-04-05 | — |
| Maintenance | Dormant | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 2/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Kernel module mode requires careful /dev/wasm access control, not all Emscripten features are supported yet.
Wasmjit is a small runtime that lets you run WebAssembly code, a portable, compact format for executing programs, outside of a web browser. Think of it as a way to take code compiled to WebAssembly (often from C or C++ using a tool called Emscripten) and run it on your Linux machine or server, without needing a browser. The interesting twist is that Wasmjit can run WebAssembly in two very different places. The standard way is in user-space, like any normal program, you compile WebAssembly code and execute it through Wasmjit on your computer. But the project's main innovation is a Linux kernel module that runs WebAssembly code directly inside the Linux kernel itself. This sounds exotic, but it has a real performance benefit: when your WebAssembly program needs to talk to the operating system (for example, a web server handling requests or a file system), it can do so as fast function calls rather than the slower back-and-forth between user programs and the kernel. For syscall-heavy workloads, this can be noticeably quicker, especially on modern systems with Meltdown mitigations. Who would use this? System programmers, embedded systems developers, or anyone running performance-critical code that's already written in C/C++ and compiled to WebAssembly. The kernel module mode is particularly interesting for infrastructure services like high-performance web servers or custom file systems where every microsecond counts. Since the core is written in C90, a very old and portable C standard, it's designed to be small and easy to port to different environments. The project is still actively under development and doesn't yet support all Emscripten features, but it's permissively licensed under MIT, so it's free to use and modify. The README notes that the kernel module does have a security consideration: you need to be careful about who can access the /dev/wasm device, since untrusted code could potentially use it to consume excessive memory.
Wasmjit is a small runtime that runs WebAssembly code outside a browser on Linux, including a kernel-module mode for extra-fast system calls.
Mainly C. The stack also includes C, WebAssembly, Linux kernel.
Dormant — no commits in 2+ years (last push 2018-10-05).
Free to use, modify, and distribute for any purpose, including commercial use, under the MIT license.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.