TL;DR
I've been building Pilates, a flex layout engine for terminal UIs in pure TypeScript. As of last week, across the 9 scenarios in my bench suite, the pure-TS engine is faster than WASM Yoga (the engine Ink uses) on each — including the structural-mutation workload (append + remove a row per frame) Yoga led on by ~5× until phases 15–17 closed it. That flipped to a ~1.7× Pilates win, in pure TypeScript.
No native bindings. No WASM port. The fix was algorithmic, and the algorithmic fix worked in TS.
The numbers
Median latency, win32-x64, Node 22, ~5s tinybench windows with bootstrap CI95:








