Skip to content

Latest commit

 

History

History
135 lines (101 loc) · 10.6 KB

benchmarks.md

File metadata and controls

135 lines (101 loc) · 10.6 KB
RMUX benchmark overview

Linux
Linux

70b68ca083f6 · p50 latency, lower is faster. Full Raw Benchmarks

Scenariormuxtmuxzellijvs tmux
Create background session (default shell)3.565 ms7.565 ms-🟢 2.1x faster
List sessions1.744 ms3.374 ms16.358 ms🟢 1.9x faster
Split pane left/right3.456 ms3.386 ms63.832 ms≈ same speed
Split pane top/bottom3.418 ms3.399 ms63.769 ms≈ same speed
Send keys to pane/window1.332 ms3.422 ms31.715 ms🟢 2.6x faster
Capture visible output1.305 ms3.476 ms16.806 ms🟢 2.7x faster
Capture full scrollback3.470 ms3.514 ms-≈ same speed
List tabs/windows3.646 ms3.939 ms15.966 ms≈ same speed
Grow pane by 1 cell1.715 ms3.461 ms-🟢 2.0x faster
Terminate session2.060 ms3.392 ms16.264 ms🟢 1.6x faster

Windows
Windows

70b68ca083f6 · p50 latency, lower is faster. Full Raw Benchmarks

Scenariormuxtmux (WSL)zellijvs tmux (WSL)
Create background session (default shell)25.381 ms86.820 ms-🟢 3.4x faster
List sessions22.345 ms92.790 ms128.624 ms🟢 4.2x faster
Split pane left/right32.816 ms89.223 ms95.949 ms🟢 2.7x faster
Split pane top/bottom32.704 ms90.214 ms95.584 ms🟢 2.8x faster
Send keys to pane/window20.829 ms87.857 ms83.411 ms🟢 4.2x faster
Capture visible output21.019 ms86.296 ms82.153 ms🟢 4.1x faster
Capture full scrollback21.259 ms89.079 ms-🟢 4.2x faster
List tabs/windows19.537 ms85.845 ms78.786 ms🟢 4.4x faster
Grow pane by 1 cell21.172 ms85.812 ms-🟢 4.1x faster
Terminate session20.941 ms88.374 ms92.412 ms🟢 4.2x faster

macOS
macOS

70b68ca083f6 · p50 latency, lower is faster. Full Raw Benchmarks

macOS note: measured on a MacBook Pro. Most operations finish around 5 ms on this machine; read those rows as "same speed".

Scenariormuxtmuxzellijvs tmux
Create background session (default shell)4.890 ms9.526 ms-🟢 1.9x faster
List sessions4.630 ms4.564 ms19.727 ms≈ same speed
Split pane left/right4.645 ms4.580 ms19.657 ms≈ same speed
Split pane top/bottom4.642 ms4.576 ms19.846 ms≈ same speed
Send keys to pane/window4.616 ms4.536 ms19.867 ms≈ same speed
Capture visible output4.617 ms4.545 ms19.497 ms≈ same speed
Capture full scrollback4.666 ms4.568 ms-≈ same speed
List tabs/windows11.410 ms11.635 ms19.845 ms≈ same speed
Grow pane by 1 cell4.685 ms4.582 ms-≈ same speed
Terminate session4.725 ms4.623 ms19.720 ms≈ same speed

Reproducing

Run the scripts locally on each OS, gather the JSON files, and generate the Markdown:

scripts/bench/run-unix.sh --out target/benchmarks/linux.json
scripts/bench/run-windows.ps1 -Out target/benchmarks/windows.json
scripts/bench/run-unix.sh --out target/benchmarks/macos.json
python3 scripts/bench/render.py target/benchmarks/*.json --output docs/benchmarks.md

Each OS measures itself locally, so no number here includes SSH or remote-shell latency.

Note: Scripts run safely in isolated sessions and only kill their own test processes.

Methodology

The render.py script updates this Markdown file and linked CSVs based on the JSON results.

Each JSON artifact records the commit, platform, tool versions and every p50/p95 sample behind a cell.

-: Operation is unavailable or not comparable. Missing adapters and failed samples are omitted, never estimated.

Zellij and GNU screen: results only show exact equivalents or close approximations.

Tools reached through a compatibility layer are labelled as such, and the JSON records each measured tool's environment. On Windows the ratio compares RMUX against tmux under WSL, never against a native Windows multiplexer.

≈ same speed spans 0.80x to 1.25x, the spread repeated samples actually show on these hosts; a narrower claim would publish host noise as a result.

Generated at 2026-07-16T22:27:58Z from commit 70b68ca083f6.