Block a user
🟡 [M19] benchmark report variant 列顺序依赖输入顺序
🟡 [M19] benchmark report variant 列顺序依赖输入顺序
已修复,提交 a8b64e7。
修改内容:
- Latency 表列顺序 — variants 去重改用直接 tuple 比较取代 format! 字符串比较,构建后 sort() 确保稳定字典序
- Memory 段行顺序 — 按 (test_name,…
🟡 [M18] reset_vm_hwm 非权限错误被吞导致内存峰值污染无提示
🟡 [M18] reset_vm_hwm 非权限错误被吞导致内存峰值污染无提示
修复方案
commit e945a35
变更内容
runner.rs
- 所有
reset_vm_hwm()错误现在都会输出 warning(不再仅限PermissionDenied) PermissionDenied保留 "Try running as root" 专属提示 -…
🟡 [M17] bench --suites 拼写错误会静默运行 0 个套件
修复方案
按照 Oracle 推荐的类型驱动方案实施:引入 Suite 枚举替代字符串匹配。
改动
runner.rs
- 新增 Suite 枚举,覆盖全部 7 个合法 suite
- FromStr 实现:无效名称返回错误信息并列出全部合…
🟡 [M17] bench --suites 拼写错误会静默运行 0 个套件
🔴 [H3] scroll_during_append 使用过期 PreadReader 导致增长文件 benchmark 失真
修复方案
根因: PreadReaderCore 在 open_raw 时一次性构建 LineIndex,file_size 和 total_lines 之后永不更新。get_line_impl 对 idx >= total_lines 直接返回 None,导致 benchmark…
🔴 [H3] scroll_during_append 使用过期 PreadReader 导致增长文件 benchmark 失真
🔴 [H4] 大文件生成未使用 BufWriter 导致 benchmark 数据准备极慢
🔴 [H4] 大文件生成未使用 BufWriter 导致 benchmark 数据准备极慢
Fixed in 6dd87d2.
Root cause: writeln! directly on raw File — each line (~70 bytes) triggered a separate write syscall.
Fix: Wrapped all three write-heavy functions with BufWriter::with_capacity…
🔴 [H2] can_reset_vm_hwm 查询权限时会重置 VmHWM 污染内存峰值
🔴 [H1] mmap SIGBUS handler 并发安装会写 static mut 导致 UB
核心改动 (
修复方案
经 Oracle 审核后采用 Once + 原始原子变量 方案,消除 static mut UB。
核心改动 (crates/bench/src/mmap_reader.rs)
🔴 [H1] mmap SIGBUS handler 并发安装会写 static mut 导致 UB
🟡 [M24] memory scroll_rss 的 lines_read 记录值不等于实际读取行数
🟡 [M22] cold startup benchmark 因 clear_file_cache 失败被静默跳过