Skip to content

Releases: codeforgee/rowpack

Release v0.2.3

Choose a tag to compare

@codeforgee codeforgee released this 13 Oct 00:45

内存及CPU使用优化

Full Changelog: v0.2.2...v0.2.3

Release v0.2.2

Choose a tag to compare

@codeforgee codeforgee released this 12 Oct 03:53

RowPack v0.2.2

本版本是一次全链路性能与内存优化批次(16 个提交)。磁盘格式完全兼容:文件布局、版本号均未变更(仅 zstd 帧省去 4B 冗余校验),新旧版本双向可读,升级无需任何数据迁移。

性能提升(vs v0.2.1,同机交错实测)

场景 变化
IndexTxn 损坏重建(Open 恢复路径) 延迟 -32~38%,内存 -66~80%,分配次数 -38~64%
Scan 全表扫描(12 格矩阵) -3~9%,百万行扫描 -3.6~5.4%
冷读(跨块读,6 格矩阵) -0.6~9%,1000 次循环点读 -9.2%
随机读 100 万行 -0.5~10.4%
Open 重放 单项延迟 -11.7%,分配次数 -4.6%;100 个 DELTA 快照场景 Open -20% 延迟 / -26% 分配
加密热读 -6.9%,内存 -5.9%
写路径 延迟持平,提交内存 -9%

内存优化

  • 提交路径流式化:消除 Commit 峰值 ~100B/行的四层中间物化,100 万行事务的瞬时峰值显著下降
  • 恢复重建流式化:峰值从 ~125B/行 降至 24B/行
  • 快照元数据:删除 O(深度²) 的预计算祖先链存储(4096 深度上限下可达数十 MB),改为 Apply 时父指针直连(+8B/快照);schema 派生跨快照共享,纯插入 DELTA 链不再重复分配
  • metadata 主索引改排序值切片;transient 页遍历(全库校验)接通缓冲池,Verify 分配 -20%;Verify 不再把全库块灌进读缓存冲掉热集

其他

  • 全库 golangci-lint 0 issues,race 检测通过
  • 新增性能基线归档(testdata/baseline/)与回归测试锁定关键行为

兼容性

  • 磁盘格式不变,未提升格式版本;zstd 帧内容校验移除后,旧版本引擎写入的文件(带校验帧)仍可正常读取,反之亦然(有双向兼容回归测试锁定)

Full Changelog: v0.2.1...v0.2.2

Release v0.2.1

Choose a tag to compare

@codeforgee codeforgee released this 11 Oct 10:08

节省内存占用

Release v0.2.0

Choose a tag to compare

@codeforgee codeforgee released this 10 Oct 08:47

v0.2.0

破坏性格式变更(v1 格式线,1.0 前不保证磁盘兼容,需重建库):

  • codec: 变长值长度前缀 定长 u32 -> uvarint
  • codec: 无可空列的 Schema 不再写 null bitmap
  • codec: 时间类型改 varint 编码
  • format: 页目录条目 定长 56B -> 变长 uvarint
  • format: 页目录 fence 条目删掉 SnapshotID(52B -> 44B)
  • format: fence 条目删掉 StoredOffset(44B -> 36B)
  • format: chunk 目录条目删掉 ChunkSequence 与 RegionOffset(32B -> 20B)
  • golden 样本已重新生成

其他:

  • 接线 DefaultCompressionLvl:磁盘 -9.0%,冷读反而更快
  • 索引内存:rowShard 的 RowID 列改 FOR 位打包、ItemOrdinal 列改位打包
  • 新增体积样本与体积基线设施(make size-baseline / size-diff)
  • 新增磁盘优化计划与压缩级别性能基线对比文档

Release v0.1.1

Choose a tag to compare

@codeforgee codeforgee released this 09 Oct 04:24

Full Changelog: v0.1.0...v0.1.1

Release v0.1.0

Choose a tag to compare

@codeforgee codeforgee released this 08 Oct 03:56

Release v0.1.0