Bench
Paneflow はパフォーマンス改善を形容詞ではなく数値で示します。以下の各スイートは、コミット済みのベースラインと最新コミットを同じマシンで、リポジトリ内のスクリプトから実行しています。まずはターミナルパイプラインから。スイートは今後追加していきます。
- マシン
- AMD Ryzen 7 7800X3D, Windows 11, release profile
- スクリプト
- scripts/bench-terminal.sh
- 計測したコミット
- e03972c5, 15d7fa5f
ターミナルパイプライン最新実行とベースラインの比較
アイドル状態のペインのウェイクアップが 64× 減少。キー入力エコーの公開が 20× 高速化。
- マシン
- AMD Ryzen 7 7800X3D, Windows 11, release profile
- スクリプト
- scripts/bench-terminal.sh
- 計測したコミット
- e03972c5, 15d7fa5f
リーダーボード
メトリクス削減
- 1アイドル時のウェイクアップ、表示専用ペイン98 % 64.0×
- 2キー入力エコー時の公開、220×60 ペイン95 % 20.0×
- 3行テキストの取得、220×60 ペイン92 % 11.8×
- 4アイドル時のウェイクアップ、プロンプト待ちのシェル86 % 7.11×
- 5断続的な出力に対する公開ゲート(1k チャンクあたり)75 % 4.00×
- 6コーパスのスループット74 % 3.87×
- 7基本フォントの解決、フレームごと50 % 2.00×
- 8スクロール時の公開、120×40 ペイン50 % 1.98×
- 9スクロール時の公開、220×60 ペイン36 % 1.56×
- 10レイアウトパス、220×60 ペイン9.9 % 1.11×
すべてのメトリクス
PTY のバイト列からレンダラーが描画するレイアウトまで。スクロール時とキー入力エコー時のスナップショットとグリッド変換、ウィンドウなしのレイアウトパス、レンダースレッドが毎フレーム行う参照、断続的な出力に対する公開ペーシング、コーパスのスループット、アイドル状態のペインが起きる頻度を計測します。時間は release プロファイルでの中央値、アロケーション数は正確な値です。
各セルは上がベースライン、下が最新です。代表値、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× | 該当なし | 該当なし |
| アイドル時のウェイクアップ、プロンプト待ちのシェル | ベースライン 64 回/秒最新 9 回/秒 | -85.9 %7.11× | 該当なし | 該当なし |