Skip to content

Overhaul README and benchmark documentation#33

Merged
RtlZeroMemory merged 2 commits into
mainfrom
readme-overhaul
Feb 11, 2026
Merged

Overhaul README and benchmark documentation#33
RtlZeroMemory merged 2 commits into
mainfrom
readme-overhaul

Conversation

@RtlZeroMemory

Copy link
Copy Markdown
Owner

Summary

  • Rewrote README with clear positioning: near-native TUI performance in TypeScript, 3–5x of ratatui, 10–50x faster than Ink
  • Added BENCHMARKS.md with full methodology, limitations, stub/PTY/terminal competitor results
  • Expanded bench suite with terminal scenarios (blessed, ratatui), PTY mode, worker isolation
  • Committed benchmark artifacts (2026-02-11 full/pty/terminal)
  • Updated docs (index, benchmarks, faq, ink-compat) for consistency

Test plan

  • Verify README renders correctly on GitHub (tables, links, mermaid diagram)
  • Verify BENCHMARKS.md links resolve from README
  • Spot-check benchmark numbers against raw results in benchmarks/

- Rewrite README: clear positioning (near-native perf in TS),
  updated benchmark tables with stub/PTY/terminal competitor data,
  architecture diagram, three usage modes
- Add BENCHMARKS.md with full methodology, limitations, and
  terminal competitor suite (blessed, ratatui)
- Expand bench suite: terminal scenarios, PTY mode, framework
  adapters, worker isolation, ratatui/blessed runners
- Committed benchmark artifacts (2026-02-11 full/pty/terminal)
- Update docs (index, benchmarks, faq, ink-compat)
@RtlZeroMemory
RtlZeroMemory merged commit 4885e56 into main Feb 11, 2026
4 of 13 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c13c4fecfd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +211 to +214
screen.render();
await renderP;
await new Promise<void>((resolve) => process.nextTick(resolve));
await new Promise<void>((resolve) => setImmediate(resolve));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Wait for blessed output drain before ending each iteration

This loop completes an iteration after screen.render() plus two event-loop ticks, but it never waits for createBlessedOutput() to confirm that the write callback has drained; under PTY backpressure (e.g., CI or slow terminals), that allows iterations to advance before frame bytes are actually flushed, which can overlap writes and systematically understate blessed latency / inflate ops/s in the terminal benchmark results.

Useful? React with 👍 / 👎.

Comment thread packages/bench/src/run.ts
return new Promise<BenchResult>((resolve, reject) => {
const child = spawn(process.execPath, ["--expose-gc", workerPath, "--payload", payloadB64], {
stdio: ["ignore", "pipe", "pipe"],
env: { ...process.env },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Force stub IO mode in isolated workers

runIsolated() inherits the parent environment unchanged, but IO mode is selected from REZI_BENCH_IO; this means a run invoked with --io stub can still execute terminal paths (or fail due missing TTY) whenever the parent shell has REZI_BENCH_IO=terminal, so the CLI flag is not authoritative and benchmark mode can be silently wrong.

Useful? React with 👍 / 👎.

@RtlZeroMemory
RtlZeroMemory deleted the readme-overhaul branch February 19, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants