mare_mark

mare_mark 是一个面向 MoonBit 的基准测试框架。它在计时之前用判定器验证每个实现,以校准过的批次和平衡区组进行测量,把每个原始观测保存在只追加的 JSONL 记录中,用稳健的成对统计和带种子的自助法比较实现,支持带实际持平和 Pareto 前沿的自动调优,并渲染自包含的 HTML 报告。本手册描述版本 0.3.0;每个包的 pkg.generated.mbti 文件是其公开名称和签名的权威来源。

包

包作用页面
model共享词汇:版本、协议、环境、结果、事件、决策API · 教程 · 设计
generator种子派生与输入指纹API · 教程 · 设计
fixture输入生命周期与准备计时API · 教程 · 设计
experiment判定器、缩减、交叉点分析API · 教程 · 设计
runner测量循环:验证、预热、校准、平衡区组API · 教程 · 设计
event接收器与 JSONL 记录API · 教程 · 设计
ir_sink常用接收器的简短构造函数API · 教程 · 设计
stats摘要、成对比较、自助法区间、离群值视图API · 教程 · 设计
ir_modelPlot IR:图表与差分证据API · 教程 · 设计
report从 JSONL 到 Plot IR,再到 JSON、SVG 和 HTMLAPI · 教程 · 设计
tune调优策略:分数、选择、Pareto 前沿、带种子的子集API · 教程 · 设计
tune_gemm完整的调优领域示例:分块矩阵乘法API · 教程 · 设计
climare-mark 可执行程序:report 和受保护的 replayAPI · 教程 · 设计

以下指南跨越多个包:快速入门、架构、验证以及仓库约定。本仓库没有文档测试包;本手册中的示例按 验证 中的描述,针对已发布的包进行编译和运行。

阅读路径

初次使用 mare_mark 做基准测试。 先读快速入门,再读 runner 教程和 stats 教程。用 report 教程发布结果。

在项目中使用它。 把 runner、stats 和 model 的 API 页面放在手边;阅读 fixture 和 generator 教程以构造真实的输入,阅读 experiment 教程以了解判定器和交叉点。关于调优,请阅读 tune 和 tune_gemm。

评审结果或参与贡献。 阅读架构和各设计页面,从 runner(实验设计与校准)和 stats(估计量、自助法与决策规则)开始,然后阅读验证。

工具链与安装

mare_mark 需要 moonc 0.10 或更高版本的 MoonBit。它依赖 moonbitlang/x 0.5.5 和 moonbitlang/async 0.22.4。

moon add Luna-Flow/mare_mark@0.3.0

每个包都能在所有 MoonBit 目标上编译。runner.run 是异步的,只能在 moonbitlang/async 提供运行时的地方运行:native、JS 和 wasm(不包括 wasm-gc)。子进程工作者、replay 命令以及 stdin/stdout 报告需要 native 目标。

稳定性

mare_mark 尚处于 1.0 之前。带版本的契约包括协议词汇 mmkp_1、JSONL 产物 mmka_1、Plot IR 模式 mmks_1 以及 GEMM 调优配置 mmkts_1;读取器会拒绝其他版本。计时阈值、候选枚举、HTML 样式和私有布局都不属于兼容性承诺。每个设计页面都以该包的边界结尾。