跳到内容

Bench

Paneflow 用数字而不是形容词来交付性能工作。下面每个套件都在同一台机器上,用仓库里的脚本分别跑已提交的基线和最新提交。终端管线是第一个,更多套件会陆续加入。

终端管线最新运行对比基线

空闲面板的唤醒次数减少 64×。按键回显发布速度提升 20×。

  1. 基线4066faf2026年9月1日 20:42
  2. 运行 10202d392026年9月1日 20:49
  3. 最新48866132026年9月1日 21:38
机器
AMD Ryzen 7 7800X3D, Windows 11, release profile
脚本
scripts/bench-terminal.sh
计量的提交
e03972c5, 15d7fa5f

排行榜

指标节省
  1. 1空闲唤醒,仅显示面板98 % 64.0×
  2. 2按键回显时发布,220×60 面板95 % 20.0×
  3. 3读取一行文本,220×60 面板92 % 11.8×
  4. 4空闲唤醒,停在提示符的 shell86 % 7.11×
  5. 5零星输出下的发布门控(每 1k 块)75 % 4.00×
  6. 6语料吞吐量74 % 3.87×
  7. 7解析基础字体,每帧50 % 2.00×
  8. 8滚动时发布,120×40 面板50 % 1.98×
  9. 9滚动时发布,220×60 面板36 % 1.56×
  10. 10布局遍历,220×60 面板9.9 % 1.11×
图 1. 每个指标去除的基线成本比例,最新运行对比已提交的基线。时间是 release 配置下的中位数,分配计数是精确值。AMD Ryzen 7 7800X3D, Windows 11, release profile。

全部指标

从 PTY 字节到渲染器绘制的布局:滚动和按键回显时的快照与网格转换、无窗口的布局遍历、渲染线程每帧的查找、零星输出下的发布节奏、语料吞吐量,以及空闲面板的唤醒频率。时间是 release 配置下的中位数,分配计数是精确值。

每个单元格上方为基线,下方为最新:主要数值、有 p95 的指标显示 p95,以及每次迭代的分配。

指标数值变化p95每次迭代分配
滚动时发布,220×60 面板基线 700.7 µs最新 448.0 µs-36.1 %1.56×基线 863.6 µs最新 465.7 µs基线 2.70 MiB最新 266 B
按键回显时发布,220×60 面板基线 166.0 µs最新 8.3 µs-95.0 %20.0×基线 196.2 µs最新 8.6 µs基线 1.41 MiB最新 106 B
滚动时发布,120×40 面板基线 324.8 µs最新 163.8 µs-49.6 %1.98×基线 377.1 µs最新 169.8 µs基线 1.02 MiB最新 242 B
布局遍历,220×60 面板基线 515.8 µs最新 464.9 µs-9.9 %1.11×基线 632.3 µs最新 481.3 µs基线 164.8 KiB最新 164.8 KiB
读取一行文本,220×60 面板基线 7.1 µs最新 600 ns-91.5 %11.8×基线 9.1 µs最新 600 ns基线 4.3 KiB最新 1.9 KiB
解析基础字体,每帧基线 200 ns最新 100 ns-50.0 %2.00×基线 200 ns最新 100 ns基线 152 B最新 0 B
读取当前主题,每帧基线 100 ns最新 100 ns+0.0 %1.00×基线 100 ns最新 100 ns基线 0 B最新 0 B
零星输出下的发布门控(每 1k 块)基线 1k 帧最新 250 帧-75.0 %4.00×不适用不适用
语料吞吐量基线 0.2 MiB/s最新 0.9 MiB/s+287.0 %3.87×不适用基线 1.52 MiB最新 2.8 KiB
空闲唤醒,仅显示面板基线 64 次/秒最新 1 次/秒-98.4 %64.0×不适用不适用
空闲唤醒,停在提示符的 shell基线 64 次/秒最新 9 次/秒-85.9 %7.11×不适用不适用