Zpět na projekty
TUIX v0.6Beta

Naposledy aktualizováno: 2026-08-14

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 CoreMechanismus optimalizace
Startup Initialization~286µs - 315µsPřímé propojení nativní knihovny a rychlá alokace paměťového fondu registru.
Tree Construction (1,000 items)~108µsRozvržení souvislého C pole pro buffery s dávkovým generováním UID.
Incremental Re-render~9µs - 15µsDetailní 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µsProporcionální výpočty geometrie řešené v nativních SIMD/C smyčkách.
Full Terminal UI Frame~352µs - 413µsPří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.