mirror of
https://github.com/psmux/psmux.git
synced 2026-06-19 09:46:56 +08:00
- Add Claude Code agent teams integration: teammate agents auto-spawn in separate tmux panes when running inside psmux sessions - Set CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS env var in pane environment - Add --teammate-mode tmux wrapper in PowerShell env shim - New docs/claude-code.md: full integration guide (quick start, config, troubleshooting, technical details) Documentation overhaul: - Condense README from ~310 to ~180 lines, move detail to docs/ - New docs: performance.md, compatibility.md, plugins.md, mouse-ssh.md - Add Related Projects gallery (pstop, psnet, Tmux Plugin Panel, OMP Manager) - Add Star History chart - Link all docs from README navigation and Documentation table Docker: - Remove hardcoded password from Dockerfile ENV layer - Add modular install scripts in docker/Tools/ Other fixes: - Clean up unused env vars (SPAWN_BACKEND, FORCE_INTERACTIVE, PSMUX_IS_TTY) - Add test scripts for cursor style, split percent, issue #95 commands
1.6 KiB
1.6 KiB
Performance
psmux is built for speed. The Rust release binary is compiled with opt-level 3, full LTO, and single codegen unit. Every cycle counts.
| Metric | psmux | Notes |
|---|---|---|
| Session creation | < 100ms | Time for new-session -d to return |
| New window | < 80ms | Overhead on top of shell startup |
| New pane (split) | < 80ms | Same as window, cached shell resolution |
| Startup to prompt | ~shell launch time | psmux adds near-zero overhead; bottleneck is your shell |
| 15+ windows | ✅ Stable | Stress-tested with 15+ rapid windows, 18+ panes, 5 concurrent sessions |
| Rapid fire creates | ✅ No hangs | Burst-create windows/panes without delays or orphaned processes |
How It's Fast
- Lazy pane resize: only the active window's panes are resized. Background windows resize on-demand when switched to, avoiding O(n) ConPTY syscalls
- Cached shell resolution:
whichPATH lookups are cached withOnceLock, not repeated per spawn - 10ms polling: client-server discovery uses tight 10ms polling for sub-100ms session attach
- Early port-file write: server writes its discovery file before spawning the first shell, so the client connects instantly
- 8KB reader buffers: small buffer size minimizes mutex contention across pane reader threads
Note: The primary startup bottleneck is your shell (PowerShell 7 takes ~400-1000ms to display a prompt). psmux itself adds < 100ms of overhead. For faster shells like
cmd.exeornushell, total startup is near-instant.