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