floating_vs_decmial_x/bench の設計

設計目標

この実行ファイルはライブラリパッケージを再現可能な実験に変えます。演算、サイズ、シード、プロトコルを固定し、出力ではすべての生レコードを要約の隣に残します。

設計上の決定

  • 固定のシード 0xDEC1A1 とプロトコル。 コーパスと実行順序が再現でき、JSONL のフィンガープリントが各データセットを識別します。
  • サイズごとに 3 データセット。 expand_digit_scales(sizes, 3) はサイズごとに三つのオペランドプロファイルを与えるので、結果が一組のオペランドの偶然にはなりません。確認用の繰り返し 20 回と合わせて 60 組の対応サンプルになります。
  • レコードは標準出力、レポートはディスクへ。 JSONL はパイプで渡してアーカイブでき、HTML レポートは実行のたびに再生成されます。
  • レポートの後で中断。 検証失敗のある実行もレポートは書き出し、その後失敗として終了するので、スクリプトがそれを正常な実行と取り違えることはありません。
  • native のみ。 公開された数値は native のリリースビルドでの計測です。代替の main により、他のターゲットでも moon check --target all が通ります。

64 桁以降の x_compatible 除算の計時は、高々 51 桁に丸められた GDA のオペランドと全長の X のオペランドを比べています。既知の制限を参照してください。

正しさと不変条件

実行ファイルはライブラリのオラクルを通じて、計時の前に各データセットを検証します。パッケージの設計のとおり、サイズは有効な観測を通じてのみ対応のある統計に入ります。

境界

実行ファイルは引数を解析せず、実行時にサイズを選ばず、Matplotlib の図を描かず、実行同士を比較しません。一回の実行が表すのは一つのホストと一つのターゲットです。