Releases
v0.8.6
Compare
Sorry, something went wrong.
No results found
[0.8.6] - 2026-08-10
0.8.6 阶段一(监控与查询性能)
扫描优化(实验先行):MFT 按 $MFT 映射对分 run 流式读取、USA 原地修复、紧凑索引与子树定向解析(小目录不再全卷重建路径);与 walkdir 对齐 skip_roots(项目根/归档根整棵不索引);USN 卷句柄改 FILE_READ_DATA 并携带真实日志 ID,本机启动补账可用;batch_size 默认 2000 + 多行 upsert;扫描分阶段计时(read/parse/resolve/db ms)。
原生枚举器边界审查:对照 walkdir 源码补齐长路径(\\?\)、单条目错误续枚举、junction / Unicode / 空目录语义,见 benchmarks/enumerator-safety-review.md。
原生枚举器落地为默认:全链路等价 PASS(合成 1k/10k/50k + 真实 Desktop 71,923,DB 零差异;50k 12.6x、真实 4.3x),ROOTUP_ENUM=walkdir 诊断回退;jwalk 复评未达门槛不引入(原型已移除),见 benchmarks/enum-compare.md / benchmarks/jwalk-evaluation.md。
MFT 读取策略落地:parallel 为默认 (read_ms 约 -27%,合成 50k / 边界 / 真实 71,923 严格零差异),ROOTUP_MFT_READ=sequential 诊断回退;mftfile($MFT 直读)本机被拒、nobuffer 无收益,均已移除;scripts/mft-read-variants.ps1 一键验证,结论见 benchmarks/mft-read-variants.md。
扫描选择优化器:双线性成本模型(MFT 固定成本随整卷文件表大小缩放,每文件成本实测校准),动态计算交叉点并带迟滞决策,替代固定阈值;决策与校准日志 scan: 快速扫描决策,模型 core/scan_choice.rs。
交叉点实验:1k/10k 时 walkdir 胜出(MFT 读全卷 2.6GB 固定成本),50k 起 MFT 胜出(5977ms vs 8828ms);20k/30k 边界受语料冷缓存影响有噪声,阈值待 25k 确认(不影响默认策略);真实目录 71,923 文件 MFT 与 walkdir 数量、大小、时间全等(attribute-list 大小兜底后 size diff=0);读取微优化(FILE_FLAG_SEQUENTIAL_SCAN + 32MiB 块 + FTS 表存在性单次检查 + DB 子批 1000 + 枚举器快照)带来 MFT 总耗时约 5%–8% 可测量下降;默认扫描策略仍 walkdir。
MFT 快速基线(原始 $MFT,布局参考 Linux-ntfs / ntfs-3g / Sleuth Kit,不复制代码):FILE 记录解析、USA 修复、extent/元文件/重解析点跳过、硬链接主名策略、路径重建;ROOTUP_MFT_SCAN=1 + 管理员门控,任何失败回退 walkdir。
USN 启动补账:DeltaSource 契约 + usn_state(schema v5),应用关闭期间变更启动时一次性对齐,运行期 notify 为主不轮询;无基线自动记录当前 USN。
FTS5 文本索引(schema v6 占位,未默认启用):contentless + trigram 实现与等价测试保留;批量同步成本高,待“扫描后批量重建”优化后再启用,见 benchmarks/fts-evaluation.md。
索引维护复核:移除 idx_files_type(schema v7)——同轮有/无对比显示其无查询收益且增加写放大,见 benchmarks/index-set-evaluation.md。
监控目录缺失对账:系统报“路径不存在”时索引标记 deleted(重扫可恢复)+ 设置页缺失标记(watched_dir_health)。
冒烟与审计扩展:USN 降级日志断言、files_fts / usn_state 审计项。
0.8.6 阶段二(规模与体积)
虚拟滚动(自研轻量):文件列表固定行高虚拟渲染(overscan=5),数万至十万文件滚动与加载更多保持流畅,列表行结构与交互不变。
release profile:lto / codegen-units=1 / strip / panic=abort / opt-level=s,官方基线以最终构建形态测量。
前端页面级分包:React.lazy + vendor 拆分,首包 gzip 远低于 200KB 目标;语言包整体保留。
扫描对比与诊断:ROOTUP_MFT_FORCE=1 诊断开关(仅验证脚本使用),支持 walkdir / native / MFT / 优化器四态受控对比;默认行为仍由优化器按模型决策。
性能基准单轨化:移除 0.8.3/0.8.4 旧基线;0.8.5 在 25H2 本机全量复测(0.8.5-rerun)作为发布对比基准,0.8.6-dev 保留为阶段内锚点;官方基线与四态扫描对比图入 README。
You can’t perform that action at this time.