第8集:性能实测 — 六款终端跑分

⏱ 预计阅读 6 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

统一硬件统一测试。纯输出、Agent 负载、内存占用、启动速度四维对比。

测试方法论

原则:同一台机器、同一个 shell、同一套测试脚本。变的是终端,不是环境。

flowchart TB
    subgraph 测试环境
        HW[MacBook Pro M3 Pro
36GB RAM
macOS 15.x] SH[zsh 5.9
统一 .zshrc] end subgraph 测试对象 T1[Ghostty] T2[cmux] T3[iTerm2] T4[Warp] T5[Terminal.app] T6[tmux inside Ghostty] end subgraph 测试场景 S1[场景1: 纯输出吞吐] S2[场景2: 混合输出滚动] S3[场景3: Agent真实负载] S4[场景4: 资源占用] end HW --> T1 & T2 & T3 & T4 & T5 & T6 SH --> T1 & T2 & T3 & T4 & T5 & T6 T1 & T2 & T3 & T4 & T5 & T6 --> S1 & S2 & S3 & S4

测试场景

场景 1:纯输出吞吐cat 大文件

# 生成 10000 行测试文件
seq 1 10000 > /tmp/test-output.txt

# 测量:从开始 cat 到终端渲染完成的时间
time cat /tmp/test-output.txt

场景 2:混合输出 + 高速滚动find 全盘搜索

# 测量:大量文件路径高速滚动时的流畅度
time find /usr -name "*.dylib" 2>/dev/null

场景 3:Agent 真实负载 — Claude Code 执行大 Phase

# 启动 Claude Code,执行一个产生大量输出的操作
claude
# 输入:/gsd-execute-phase 1
# 观察:输出是否流畅、是否有卡顿、滚动是否顺滑

场景 4:多任务资源占用

# 打开 10 个标签/Session,每个运行 sleep 9999
# 测量总内存占用

测试结果

基于社区实测数据(VibeHackers、Mitchell Hashimoto benchmark、HN 社区):

渲染速度

场景 Ghostty cmux iTerm2 Warp Terminal.app tmux(内嵌)
cat 10000 行 ★★★ ★★★ ★★ ★★ ★★
find 混合输出 ★★★ ★★★ ★★ ★★ ★★
Agent 大输出 ★★★ ★★★ ★★ ★★

★★★ = 流畅无感 ★★ = 轻微延迟 ★ = 明显卡顿

关键数据

  • Ghostty vs iTerm2:约 3x 速度差距(VibeHackers 实测)
  • Ghostty vs Warp:约 2.5x 速度差距
  • Ghostty ≈ cmux(cmux 基于 Ghostty 渲染引擎)

资源占用

指标 Ghostty cmux iTerm2 Warp Terminal.app tmux
单窗口内存 ~80MB ~100MB ~150MB ~200MB ~50MB ~5MB/session
10标签总内存 ~300MB ~400MB ~500MB ~800MB ~200MB ~50MB
启动速度 瞬间 瞬间 ~0.5s ~1s 瞬间 瞬间

注意力管理(多 Agent 并行时的人效指标):

指标 cmux tmux Ghostty iTerm2 Warp
Agent 状态通知 通知环 + 桌面 状态栏自定义 部分(AI)
检查 10 Agent 耗时 ~10s(看通知) ~30s(逐个翻) ~60s(逐个翻) ~45s(标签切换) ~45s
遗漏概率 低(自动提醒) 中(依赖习惯) 高(纯手动)

结论

纯速度 → Ghostty ≈ cmux > iTerm2 ≈ Warp > Terminal.app
多Agent管理 → cmux > tmux > Warp > iTerm2 > Ghostty > Terminal.app
远程持久 → tmux > 其他(唯一能 detach/attach 的)
AI集成 → Warp > 其他(唯一内置 AI)
资源占用 → tmux > Terminal.app > Ghostty > cmux > iTerm2 > Warp

没有"最快"的终端,只有"最适合场景"的终端。