Skip to content

[mirror] Upstream PR: lazy widget editors (undici out of render path) #7

Description

@axisrow

Tracker for the lazy-widget-editors follow-up (extends upstream 35440e4, their sirmalloc#575 "keep the TUI off the status line render path").

Status in our fork: DONE. Merged as PR #3 (rebased onto main after PRs #1/#2, deduped, CI green).

What landed:

  • The eleven widget-editor implementations moved into lazy chunks (React lazy/Suspense) preserving the synchronous renderEditor API; render-time widget logic unchanged.
  • Built no-proxy piped render now records 0 fetches, 0 WASM initializations, no undici (vs 1/1/loaded before) — the eager editor → Ink useInput → reconciler → Yoga route no longer executes on render.
  • CPU per render: −7.7% (Node) / −12.7% (Bun) vs PR perf: reduce per-repaint CPU under concurrent sessions #2 head; Node p50 −1.8% disclosed.
  • Editor first-open can suspend briefly (~300 ms).
  • Artifacts on main: docs/performance-397-verification.md, docs/performance-397-results.json, scripts/benchmark-render.py.

Next step: upstream PR building on their sirmalloc#575 work — pending user go.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions