跳到内容

Bench

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

终端管线cb05be20
指标节省
  1. 1空闲唤醒,仅显示面板
    98 % 64.0×
  2. 2按键回显时发布,220×60 面板
    95 % 20.0×
  3. 3读取一行文本,220×60 面板
    92 % 11.8×
  4. 4空闲唤醒,停在提示符的 shell
    86 % 7.11×
  5. 5零星输出下的发布门控
    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 µs448.0 µs-36.1 % 1.56×863.6 µs465.7 µs2.70 MiB266 B
按键回显时发布,220×60 面板166.0 µs8.3 µs-95.0 % 20.0×196.2 µs8.6 µs1.41 MiB106 B
滚动时发布,120×40 面板324.8 µs163.8 µs-49.6 % 1.98×377.1 µs169.8 µs1.02 MiB242 B
布局遍历,220×60 面板515.8 µs464.9 µs-9.9 % 1.11×632.3 µs481.3 µs164.8 KiB164.8 KiB
读取一行文本,220×60 面板7.1 µs600 ns-91.5 % 11.8×9.1 µs600 ns4.3 KiB1.9 KiB
解析基础字体,每帧200 ns100 ns-50.0 % 2.00×200 ns100 ns152 B0 B
读取当前主题,每帧100 ns100 ns+0.0 % 1.00×100 ns100 ns0 B0 B
零星输出下的发布门控1,000 帧 / 1,000 块250 帧 / 1,000 块-75.0 % 4.00×不适用不适用不适用
语料吞吐量0.2 MiB/s0.9 MiB/s+287.0 % 3.87×不适用1.52 MiB2.8 KiB
空闲唤醒,仅显示面板64 次/秒1 次/秒-98.4 % 64.0×不适用不适用不适用
空闲唤醒,停在提示符的 shell64 次/秒9 次/秒-85.9 % 7.11×不适用不适用不适用

更多套件会陆续加入,每个都带有自己已提交的基线和存档运行,格式相同。