TUIX v0.5Beta
Performance
TUIX Core keeps hot rendering paths in C while Python orchestrates scenes and widget state. v0.5 performance work emphasizes safer ownership, lower lock contention, viewport-aware compositing, and stable terminal-visible diffs.
Benchmark Run
The v0.5 repository benchmark metadata records a run on 2026-05-20 with Node v22.19.0 on Windows_NT 10.0.26200, 12 CPU cores, and 24 GB RAM. The suite compares TUIX variants with Blessed, terminal-kit, Ink, ReziTUI, Bubble Tea, Ratatui, OpenTUI, Rich, Urwid, and PromptToolkit.
Selected Results
| Scenario | TUIX Result | Notes |
|---|---|---|
| Startup | TUIX.Python 286us, TUIX.Core 315us | Both are among the low-latency startup group in the README table. |
| Tree Construction (1,000 items) | TUIX.Core 108us | Effectively tied for fastest in that scenario. |
| Re-render | TUIX.Python 9us, TUIX.Renderer 10us, TUIX.Core 15us | TUIX variants lead the low-latency re-render group. |
| Layout Stress (4 cols x 10 rows) | TUIX.Renderer 72us, TUIX.Core 81us | Layout workloads are competitive with OpenTUI and Ratatui in the README summary. |
| Terminal Full UI | TUIX.Renderer 352us, TUIX.Python 383us, TUIX.Core 413us | Full UI workloads are mixed, with TUIX keeping low memory usage. |
Optimization Areas
- Builder callbacks can run outside the global registry lock where safe snapshots/copies protect resize and build steps.
- Text and halfblock renderers compare terminal-visible ANSI output for diff stability.
- Viewport-aware compositing keeps scroll clipping and hitmaps in the native pipeline.
- Scene stats and cold-scene compaction support data-first memory maintenance.