bench/bin_float API
bench/bin_float は floating の 2 進演算と初等関数のベンチマーク、および平方の自動チューニング実験を収めています。これはテスト専用パッケージです。内容はすべて bench ツールキットの上に構築された *_test.mbt ファイルにあり、MoonBit の項目は何もエクスポートしません。このページは定義されているベンチマークケースを記録します。実行方法はチュートリアルで示し、ワークロードの説明は設計ページで行います。
ベンチマークケース
| ケース | データセット | 実装 | プロトコル |
|---|---|---|---|
bin-float/add, bin-float/mul, bin-float/div | 53、128、512、2048 ビット | kernel/coefficient(BinCoeff)、core/bin-float(BinFloat の演算子)、full/checked(BinFloatResult) | Development |
28 個の関数(exp、exp2、exp10、expm1、ln、log2、log10、log1p、sqrt、rootn、pow、hypot、sin、cos、tan、sinpi、cospi、tanpi、asin、acos、atan、atan2、sinh、cosh、tanh、asinh、acosh、atanh)に対する bin-float/elementary/OP | 53、128、512 ビットの精度 | core/bin-float(異常終了するメソッド)、full/checked(BinFloatResult) | Development |
bin-float/autotune/square | 32 ビットのリムを 4、8、16、…、1024 個 | BinCoeff に対する mul-self(x.mul(x))と square(x.square()) | RegressionGate |
各仕様には、通常のテスト実行で走り仕様がコンパイルできることを確認するプランテスト(binary benchmark plans compile、elementary benchmark plans compile、binary auto tune plan compiles)と、#skip("performance benchmark") が付けられ tools/benchmark.py だけが実行する性能テストがあります。性能テストはすべての観測値を MAREMARK_JSONL= 行としてストリーム出力し、集約結果を、算術演算では MAREMARK_HOTSPOT=bin-float/OP/DATASET core_pct=… full_pct=…、初等関数では MAREMARK_HOTSPOT=bin-float/elementary/OP/DATASET full_pct=…、平方の実験では MAREMARK_TUNE、MAREMARK_CROSSOVER、MAREMARK_POLICY の各行として出力します。
公開インターフェース全体
このパッケージは MoonBit の項目を何もエクスポートしません。
// Generated using `moon info`, DON'T EDIT IT
package "Luna-Flow/floating/bench/bin_float"
// Values
// Errors
// Types and methods
// Type aliases
// Traits