|
| 1 | +# Benchmark Report — v0.4.0 |
| 2 | + |
| 3 | +**Date:** 2026-03-31 |
| 4 | +**Machine:** Apple Silicon (macOS), release build |
| 5 | +**Rust:** 1.75+ (workspace MSRV) |
| 6 | + |
| 7 | +## Summary |
| 8 | + |
| 9 | +v0.4.0 adds Kitty, WezTerm, Alacritty, and Rio terminal support — expanding from 3 to 7 supported terminals. Changes are confined to `gc-terminal` (detection logic) and `ghost-complete` (install init block). No hot-path code was modified. |
| 10 | + |
| 11 | +## Results |
| 12 | + |
| 13 | +### VT Parse Throughput (gc-parser) |
| 14 | + |
| 15 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 16 | +|-----------|--------|-------|-----------| |
| 17 | +| `vt_parse_throughput/plain_text` | 83.56 µs | [83.46 µs, 83.68 µs] | -2.1% | |
| 18 | +| `vt_parse_throughput/ansi_colored` | 152.56 µs | [152.04 µs, 153.55 µs] | -1.6% | |
| 19 | +| `vt_parse_throughput/cursor_heavy` | 238.01 µs | [237.64 µs, 238.35 µs] | -2.7% | |
| 20 | + |
| 21 | +No regressions. Slight improvements likely due to run-to-run variance. |
| 22 | + |
| 23 | +### Fuzzy Ranking (gc-suggest) |
| 24 | + |
| 25 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 26 | +|-----------|--------|-------|-----------| |
| 27 | +| `fuzzy_ranking/1k_3char` | 101.91 µs | [101.79 µs, 102.03 µs] | +1.2% | |
| 28 | +| `fuzzy_ranking/10k_3char` | 1.043 ms | [1.041 ms, 1.045 ms] | +0.6% | |
| 29 | +| `fuzzy_ranking/10k_empty` | 351.94 µs | [351.48 µs, 352.39 µs] | -0.5% | |
| 30 | + |
| 31 | +Within noise. Fuzzy ranking untouched. |
| 32 | + |
| 33 | +### Spec Loading (gc-suggest) |
| 34 | + |
| 35 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 36 | +|-----------|--------|-------|-----------| |
| 37 | +| `spec_loading/load_717_specs` | 53.46 ms | [53.35 ms, 53.57 ms] | -6.2% | |
| 38 | + |
| 39 | +Apparent improvement likely due to filesystem caching. Spec loading code unchanged. |
| 40 | + |
| 41 | +### Spec Resolution (gc-suggest) |
| 42 | + |
| 43 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 44 | +|-----------|--------|-------|-----------| |
| 45 | +| `spec_resolution/shallow` | 2.260 µs | [2.258 µs, 2.263 µs] | -1.5% | |
| 46 | +| `spec_resolution/deep` | 1.257 µs | [1.256 µs, 1.259 µs] | -0.2% | |
| 47 | + |
| 48 | +No change. |
| 49 | + |
| 50 | +### Transform Pipeline (gc-suggest) |
| 51 | + |
| 52 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 53 | +|-----------|--------|-------|-----------| |
| 54 | +| `transform_pipeline/simple` | 31.47 µs | [31.41 µs, 31.53 µs] | -2.4% | |
| 55 | +| `transform_pipeline/regex` | 154.58 µs | [154.23 µs, 154.93 µs] | -1.0% | |
| 56 | +| `transform_pipeline/json` | 28.83 µs | [28.80 µs, 28.86 µs] | -1.8% | |
| 57 | + |
| 58 | +No change. |
| 59 | + |
| 60 | +### Engine Suggest Sync (gc-suggest) |
| 61 | + |
| 62 | +| Benchmark | Median | Range | vs v0.3.0 | |
| 63 | +|-----------|--------|-------|-----------| |
| 64 | +| `engine_suggest_sync/command_position` | 18.86 µs | [18.80 µs, 18.93 µs] | +3.5% | |
| 65 | +| `engine_suggest_sync/subcommand_with_spec` | 17.44 µs | [17.39 µs, 17.50 µs] | +4.8% | |
| 66 | +| `engine_suggest_sync/filesystem_fallback` | 1.079 ms | [1.078 ms, 1.081 ms] | -1.5% | |
| 67 | + |
| 68 | +Within noise. Absolute times well within <50ms budget. |
| 69 | + |
| 70 | +## Conclusion |
| 71 | + |
| 72 | +No performance-impacting changes in v0.4.0. Terminal detection additions are startup-only code in `gc-terminal`. All benchmarks remain within performance targets. |
0 commit comments