TUIX v0.6Beta
Výkonnostní architektura
TUIX Core provádí kritické vykreslování, kompozici, výpočet diffů a hit-testing v optimalizovaném C, zatímco Python orchestruje deklarativní scény, widgety a aplikační logiku. Ve v0.6 se výkonnostní vylepšení soustředí na internování neměnných Unicode symbolů, detailní sledování dirty stavů, cachování průchodů zohledňující viewporty a bezalokační frame smyčky.
Sada benchmarků
Sada benchmarků repozitáře testuje TUIX proti průmyslovým alternativám (Blessed, terminal-kit, Ink, ReziTUI, Bubble Tea, Ratatui, OpenTUI, Rich, Urwid, PromptToolkit) v typických scénářích.
Výkonnostní charakteristiky
| Scénář | Časování TUIX Core | Mechanismus optimalizace |
|---|---|---|
| Startup Initialization | ~286µs - 315µs | Přímé propojení nativní knihovny a rychlá alokace paměťového fondu registru. |
| Tree Construction (1,000 items) | ~108µs | Rozvržení souvislého C pole pro buffery s dávkovým generováním UID. |
| Incremental Re-render | ~9µs - 15µs | Detailní sledování dirty stavů přes mark_redraw_by_uid a přeskakování nezměněného ANSI diffu. |
| Layout Stress (4 cols x 10 rows) | ~72µs - 81µs | Proporcionální výpočty geometrie řešené v nativních SIMD/C smyčkách. |
| Full Terminal UI Frame | ~352µs - 413µs | Přímé generování ANSI streamu bez zbytečných mezilehlých alokací řetězců. |
Klíčové architektonické optimalizace
- Internovaná tabulka UTF-8 symbolů: 4bajtové/internované symboly eliminují heap alokace během renderování textu.
- Bezzámkové čtení snapshotů: Diagnostika a inspekce získávají vláknově bezpečné snapshoty bez blokování renderovacího vlákna.
- Cachování průchodu viewportem: Kompozitor přeskakuje stromy bufferů mimo obrazovku a ořezává geometrii před vykreslením.
- Mezipaměť šířky znaků: Dotazy na buňkovou šířku širokých znaků v terminálu jsou zjištěny jednou a uloženy do mezipaměti.