Skip to content

HISS_IO_Performance

fujiaze edited this page Aug 6, 2026 · 3 revisions

HISS I/O与Phase1性能

1. 性能必须分项

分别报告:

  • PRECISE几何核心;
  • HISS组织/编码;
  • HISS写入;
  • HISS Verify;
  • 完整Stage1。

不能用核心28.6秒代替Phase1产物耗时。

2. Writer要求

  • 单次打开临时文件;
  • 大缓冲顺序写;
  • 正常模式禁止逐子块海量日志;
  • 不得每Tile fsync;
  • 最终完成后执行一次必要的flush/OS sync;
  • 原子替换最终文件;
  • 不进行无意义的重复拷贝或二次全文件重写;
  • codec/transform/checksum策略按HISS冻结规范执行。

3. Reader/Verify要求

  • Reader打开文件一次;
  • Header和Tile目录解析一次;
  • 在同一Reader实例中遍历全部Tile和子块;
  • 禁止每读取signal/support/SNR重新打开文件;
  • Verify输出汇总,详细Tile日志只在debug模式启用。

4. 参考机性能门

针对当前约316MB、285 Tile的真实输出:

  • PRECISE核心:硬门≤60s,目标≤30s;
  • HISS写入:硬门≤20s,目标≤10s;
  • HISS Verify:硬门≤20s,目标≤10s;
  • DRIZZLE stage(计算+输出):硬门≤60s,目标≤45s;
  • 完整Stage1:硬门≤75s,目标≤60s。

所有数字取同配置连续3次中位数;完整真实帧最终只运行一次时,其他次数使用固定合成等规模数据完成。

5. 2026-08-06 实测(R13 最终闭合)

完整真实帧(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已如实记录)。

6. 签字修正后性能保持 (2026-08-06)

反向/候选安全修正 (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 (修正仅影响候选常数与 几何收敛, 完整帧仅用于最终签字确认时复测)。

Clone this wiki locally