dzmingli_vs_floating/bench 设计

设计目标

该可执行程序把库包变成一个可复现的实验:固定的运算、固定的规模、固定的种子与协议,并且输出把每条原始记录都保留在汇总旁边。

设计决策

  • 固定种子 0xDEC1A1 与协议。 语料和执行顺序可复现,JSONL 中的指纹标识每个数据集。
  • 每个规模三个数据集。 expand_digit_scales(sizes, 3) 为每个规模给出三种操作数配置,使结果不会只是某一对操作数的偶然;配合 20 次确认性重复,得到 60 个配对样本。
  • 记录写到标准输出,报告写到磁盘。 JSONL 可以通过管道传递并归档,HTML 报告每次运行都会重新生成。
  • 报告之后再中止。 存在校验失败的运行仍会写出报告,然后以失败状态退出,使脚本不会把它误认为干净的运行。
  • 仅限 native。 已发布的数字是 native release 测量;后备的 main 让 moon check --target all 在其他目标上也能工作。

乘法止步于 10,000 位,因为 DzmingLi 的位数估计在乘积超过约 21,475 位时溢出;其他运算继续到 20,000 位。14 种扩展运算止步于 1,024 位,以使运行时长合理。上限的推导见包设计。

正确性与不变量

该可执行程序在计时之前通过库的预言机校验每个数据集。如包设计所述,一个规模只通过有效观测进入配对统计。

边界

该可执行程序不解析参数,不在运行时选择规模,不渲染 Matplotlib 图,也不在多次运行之间进行比较。每次运行只描述一台主机和一个目标。