dzmingli_vs_floating/bench_common API
Luna-Flow/diff_bench/dzmingli_vs_floating/bench_common は実行可能パッケージです。公開項目はなく、インターフェースはコマンドラインと書き出すファイルです。ライブラリパッケージ dzmingli_vs_floating を使います。
コマンド
moon run --release src/dzmingli_vs_floating/bench_common --target native
この実行ファイルは引数を取りません。JSONL に記録された再実行コマンドは演算、サイズ、実装の引数を付け加えますが、実行ファイルはそれらを無視して実験全体をやり直します。
実験
default_benchmark_protocol() とシード 0xDEC1A1 で run_mare_benchmark を 2 回実行します。計測対象の 19 演算すべてを係数 1、4、8、16、18、28 桁で、サイズごとに 3 つのデータセットを使い、計時範囲(arithmetic_only と full_path)ごとに一回ずつです。
出力
- 標準出力:各実験の Mare Mark JSONL(validation、calibration、observation、summary の各レコード)と、その後に続く
PerformanceResultごとの"comparison"レコード。 artifacts/dzmingli_vs_floating/common_digits.html:mare_performance_report_htmlで書き出した自己完結の HTML レポート。ディレクトリがなければ作成されます。
終了ステータス
いずれかの検証が失敗すると、レポートを書き終えた後に common-digits decimal differential validation failed で中断します。失敗のない完全な実行は正常終了します。
ターゲット
main.mbt は native 向けにだけコンパイルされます。js、wasm、wasm-gc、llvm では main_unimplemented.mbt がビルドされ、ランナーには native が必要だと表示して終了します。