-
Notifications
You must be signed in to change notification settings - Fork 0
HISS_IO_Performance
fujiaze edited this page Aug 6, 2026
·
3 revisions
分别报告:
- PRECISE几何核心;
- HISS组织/编码;
- HISS写入;
- HISS Verify;
- 完整Stage1。
不能用核心28.6秒代替Phase1产物耗时。
- 单次打开临时文件;
- 大缓冲顺序写;
- 正常模式禁止逐子块海量日志;
- 不得每Tile fsync;
- 最终完成后执行一次必要的flush/OS sync;
- 原子替换最终文件;
- 不进行无意义的重复拷贝或二次全文件重写;
- codec/transform/checksum策略按HISS冻结规范执行。
- Reader打开文件一次;
- Header和Tile目录解析一次;
- 在同一Reader实例中遍历全部Tile和子块;
- 禁止每读取signal/support/SNR重新打开文件;
- Verify输出汇总,详细Tile日志只在debug模式启用。
针对当前约316MB、285 Tile的真实输出:
- PRECISE核心:硬门≤60s,目标≤30s;
- HISS写入:硬门≤20s,目标≤10s;
- HISS Verify:硬门≤20s,目标≤10s;
- DRIZZLE stage(计算+输出):硬门≤60s,目标≤45s;
- 完整Stage1:硬门≤75s,目标≤60s。
所有数字取同配置连续3次中位数;完整真实帧最终只运行一次时,其他次数使用固定合成等规模数据完成。
完整真实帧(4500×3600, FP32, NSIDE=65536, pixfrac=0.8)实测:
| 阶段 | 上一轮 | 修复后 |
|---|---|---|
| PRECISE核心 | 29.1s | 26.8s |
| HISS写入(writeHisTiles) | ~33s | 9.9s |
| HISS Verify | 40.4s | 0.802s |
| DRIZZLE stage | 62.2s | 36.7s |
| 完整Stage1 | 129.4s | 45.43s |
关键修复(6babe22):Reader/Transform 逐Tile日志门控(HISS_DLOG)。Verify 40s 根因是 stderr 重定向文件时每条 fprintf 写盘(与写入侧 PERF-001 同类);修复后 verify_bench 同文件遍历 0.697s,日志 870 行 → 5 行。
写入侧:bench_write 4096² 写盘 2.60s(add_tile 6.35ms/tile);生产压缩 ZSTD (signal=BYTE_SHUFFLE),1109 子块 835 ZSTD / 274 RAW(R04-B13 无收益回退)。
备注:最终验收为单次完整帧(前两轮为修复前超时运行,违反MAX=1已如实记录)。
反向/候选安全修正 (circumradius 1.25、极冠回退收紧、WCS 收敛阈值下限) 后 正向回归与性能门保持:
- bench_write 4096²: 写盘 4.56s (add_tile 6.68ms/tile, 门 ≤20s);
- verify_bench 同生产 HISS: 0.968s (门 ≤20s);
- 完整 Stage1 性能证据沿用 R13 最终验收 45.43s (修正仅影响候选常数与 几何收敛, 完整帧仅用于最终签字确认时复测)。