bench/bin_float API
bench/bin_float 包含 floating 的二进制算术与初等函数基准测试,以及平方运算的自动调优实验。它是一个仅用于测试的包:所有内容都位于基于 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 |
bin-float/elementary/OP,涵盖 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) | 53、128、512 位精度 | core/bin-float(会中止的方法)、full/checked(BinFloatResult) | Development |
bin-float/autotune/square | 4、8、16、…、1024 个 32 位的 limb | 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