性能
相対メトリクス(各ベンチ ÷ calib、uniform = calib ÷ native)の main 履歴。 値は実行環境スペック非依存な相対値で、小さいほど速い。 赤の破線 = 退行とみなす目安(基準値 × (1 + 閾値))、灰の縦破線 = baseline を取り直した時点。 規模・カバレッジと同じ日次の計測で記録する。 縦軸は 5 セクションとも 0 を基準にとる。 時間で測る性能の見張りはこのチャートだけである— CI に合否判定は無い (閾値が共有ランナーのノイズに耐えず、PR を誤って止めていたため)。
Rust 生成コードの比
hikari build --aot の実行ファイルの時間 ÷ 同じベンチを VM で
走らせた時間。小さいほど生成コードが速い。分母も動くので、比が上がったのは
「生成コードが遅くなった」か「VM が速くなった」かのどちらかである。赤の破線は
目安で、VM の閾値線とは違ってランナーの傾きを補正していない — パネルが揃って
上下したときは退行ではなく計測環境の差を疑う。コーパスも別である
(bench/aot/。第 1 段に時計が無いため、時間はプロセスの外から測る)。
規模
git 追跡ファイルの行数(日次)。
rust_impl / rust_test は処理系の実装(compiler / rt。試験は
#[cfg(test)] モジュールとして同じファイルに入るので中身で割る)、
hika_core は処理系に埋め込む Hikari、hika_assets はそれ以外の Hikari 資産、
docs_spec は言語仕様。testdata と生成物は数えない。
テストカバレッジ
coverage_rust は cargo test の line coverage(日次)。母数には
#[cfg(test)] の試験本体も入るので、他所で目にする
「実装だけを母数に取った率」とは水準が違う。絶対値ではなく推移を読む。
CI の費用
CI がランナーを借りた時間(日次・直近 24 時間)。各 job の
started_at から completed_at までを足したもので、
待ち行列は入らない。ci_runner_min はその日の合計、ci_runner_min_max は
その日で最も高い 1 ラン(=全 job が走ったランの費用)、ci_runs は本数。
3 枚で 1 組に読む — 合計は PR の本数に支配されるので、
CI そのものが高くなったかは max の段差で見る。単価の違う ubuntu-slim も
同じ 1 分として数える(数えているのは占有時間であって請求額ではない)。