For the past six months, I've been building boomkat, a tiny javascript engine. It started as a curiosity: I liked Duktape but wanted modern ES support, so started writing a port in C3 (a modern C alternative), eventually evolving into its own engine and architecture.
- passes 99.3% of test262
- faster than QJS in Octane bench, ~2MB binary, low memory usage
- runs TypeScript, JSX and ES modules natively, no transpile step
- generational, incremental GC
Much of the core work was done with open models like MiMo, MiniMax, and DeepSeek - there is full breakdown in the README.
I've made the C API as simple as possible to use, currently using it for TUI apps, and integrating with a custom server runtime. The incremental GC means it's very usable for graphics, games and UI without any noticeable collection pauses.
Next up is finishing the JIT - I'm using SLJIT as a backend and getting pretty decent speed gains. The ultimate goal is to land somewhere north of 50% of JSC/V8 performance while staying small. It is not production-ready yet, but I've been using it for my own projects (TUI apps and a custom server runtime). Happy to hear feedback from anyone who'd wan't to embed it in their project!
1 comment
[ 3.8 ms ] story [ 6.9 ms ] thread- passes 99.3% of test262
- faster than QJS in Octane bench, ~2MB binary, low memory usage
- runs TypeScript, JSX and ES modules natively, no transpile step
- generational, incremental GC
Much of the core work was done with open models like MiMo, MiniMax, and DeepSeek - there is full breakdown in the README.
I've made the C API as simple as possible to use, currently using it for TUI apps, and integrating with a custom server runtime. The incremental GC means it's very usable for graphics, games and UI without any noticeable collection pauses.
Next up is finishing the JIT - I'm using SLJIT as a backend and getting pretty decent speed gains. The ultimate goal is to land somewhere north of 50% of JSC/V8 performance while staying small. It is not production-ready yet, but I've been using it for my own projects (TUI apps and a custom server runtime). Happy to hear feedback from anyone who'd wan't to embed it in their project!