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