bench/bin_float API

bench/bin_float は floating の 2 進演算と初等関数のベンチマーク、および平方の自動チューニング実験を収めています。これはテスト専用パッケージです。内容はすべて bench ツールキットの上に構築された *_test.mbt ファイルにあり、MoonBit の項目は何もエクスポートしません。このページは定義されているベンチマークケースを記録します。実行方法はチュートリアルで示し、ワークロードの説明は設計ページで行います。

ベンチマークケース

ケースデータセット実装プロトコル
bin-float/add, bin-float/mul, bin-float/div53、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/OP53、128、512 ビットの精度core/bin-float(異常終了するメソッド)、full/checked(BinFloatResult)Development
bin-float/autotune/square32 ビットのリムを 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