bench/decimal チュートリアル
このページでは、IEEE 10 進算術のベンチマークを実行する方法と、その出力の読み方を説明します。このスイートは、同一の入力に対する対応付き測定によって実装パスを比較します。ツールキットと成果物の形式については bench チュートリアル を参照してください。
クイックスタート
リポジトリのルートから実行します。
just bench decimal
ランナーは src/bench/decimal のスキップされた性能テストを native ターゲット上でリリースモードで実行し、.tmp/bench/SUITE.jsonl(全観測値)と .tmp/bench/SUITE.analysis.txt(集約された行)を書き出します。ここで SUITE は just bench に与えた名前です。
日常的なタスク
分析行を読む
解析ファイルには MAREMARK_HOTSPOT=decimal/OP/DATASET core_pct=… full_pct=… が含まれます。core_pct の値は、core パスとカーネルの対応付き差の中央値を、カーネルの中央値時間に対する百分率で表したものです。full_pct は同様に checked パスを core パスと比較した値です。正の値は上位の層の方が遅いことを意味します。
計測せずにプランを検査する
sh tools/run_moon_clean_exec.sh test src/bench/decimal --target native
は、すべての仕様をコンパイルするプランテストのみを実行します。
さらに進んで
- データセットや実装は
*_test.mbtファイルで変更します。参照オラクルは残しておき、高速でも誤ったパスが実行を失敗させるようにしてください。 - 2 つの実行を比較するのは、記録された環境が一致する場合に限ってください。
- 性能監査と
performance/のページに計測結果がまとめられています。
よくある落とし穴
- ベンチマークは通常の
moon testの実行ではスキップされます。just benchを使用してください。 - 結果はマシンに依存します。パーセンテージの方が絶対的なマイクロ秒よりも安定しています。
次のステップ
- bench/decimal API
- bench/decimal 設計
- 統計については bench の設計を参照してください。