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、compare1, 4, 16, 64, 256, 1,024, 4,096, 8,192, 10,000arithmetic_only, full_path
压力add、subtract、divide、compare16,384, 20,000arithmetic_only, full_path
扩展其余 14 种精确运算1, 16, 64, 256, 1,024arithmetic_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 的提示后退出。