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,每个规模三个数据集:
| 运行 | 运算 | 系数位数 | 计时范围 |
|---|---|---|---|
| 规模扩展 | 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 的提示后退出。