Status
Turbolog Status
console.logOperational90 days agoOne call per dirty frame. Zero per idle frame.Today
console.clearRarely used90 days agoFirst frame, after invalidate(), at idle once 100 frames are stacked, and at 300.Today
YogaOperational90 days agoWebAssembly flexbox layout, pointScaleFactor 1.Today
Turbolog encoderOperational90 days agoRow-hash gate and run-length %c encoding.Today
DevTools ThrottlerRespected90 days ago50ms viewport throttle. Frames are paced at least 66ms apart.Today
Live benchmark
The @textjs/core pipeline runs in this tab on a 100×32 dashboard and writes frames to an in-memory console.
- Full frame
- —
- layout + paint + encode
- Typing
- —
- one-row edit
- Idle frame
- —
- nothing changed
- %c spans
- —
- 3,200 cells
Starts automatically once the page is idle.
Performance history
packages/core/test/perf.test.ts at each milestone, same machine (Apple M5 Pro · Bun 1.4.4). Mean of 1,000 frames.
| Release | Full frame | Typing | Idle | %c spans |
|---|---|---|---|---|
0.1.0@textjs/core · 7c91cea | 0.194ms | 0.065ms | 0.043ms | 205 |
0.2.0textjs.org · 92437cc | 0.192ms | 0.067ms | 0.042ms | 205 |
0.3.010× input · 8c2d1b1 | 0.205ms | 0.065ms | 0.043ms | 146 |
0.3.0Mobile pass · e2e6e46 | 0.212ms | 0.067ms | 0.045ms | 146 |
0.4.0Zero-flash frames · f007ade | 0.184ms | 0.046ms | 0.028ms | 146 |
1.0.0Text.js 1.0 · 57968b6 | 0.163ms | 0.011ms | 0.000ms | 149 |
DevTools frontend
bench/devtools in Chrome for Testing: blank paints, delivered frames and display lag, 5s per run. How we measure.
| Driver | FPS | Blank paints | Painted / emitted | Lag p50 |
|---|---|---|---|---|
| Append (shipping) | 15 | 1.0% | 74 / 75 | 10.4ms |
| Clear per frame | 15 | 70.6% | 70 / 75 | 60.4ms |
| Append, unpaced | 60 | 0.8% | 67 / 295 | 31.2ms |
| Clear per frame | 60 | 81.1% | 45 / 300 | 9.8ms |
Past incidents
- Increased display latency after console.clearResolved in 1.0.0
After a clear, DevTools’ “Console was cleared” row pushed every later frame onto its 50ms timer. The renderer now waits 110ms once after a clear. Median display lag recovered from 63ms to 10ms.
- Elevated blank paints in the DevTools ConsoleResolved in 0.4.0
Clearing before every frame left the console empty in 70–81% of DevTools paints. Frames are now appended, and blank paints are down to 1.0%, all on the first frame.