Skip to content

shm 扩容 + PUNCH_HOLE 回收(集成 #22,与 #21 art_scan 共存) - #23

Merged
miaobyte merged 2 commits into
mainfrom
integrate-shm-resize
Sep 9, 2026
Merged

shm 扩容 + PUNCH_HOLE 回收(集成 #22,与 #21 art_scan 共存)#23
miaobyte merged 2 commits into
mainfrom
integrate-shm-resize

Conversation

@miaobyte

@miaobyte miaobyte commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

集成 fork PR #22(carsontung666,issue #15)到 main,解决与已合并 #21 的 CMakeLists 冲突(两测试目标共存)。

  • src/kvspace.c 自动合并(art_scan + shm-resize 不同区域)
  • CMakeLists.txt 手动解冲突:test_shm_resize 与 test_art_scan 并存
  • 本地构建通过,ctest 3/3(shm_split / shm_resize / art_scan)
  • ABI 与 v0.2.13 完全一致(77 导出符号无增删)

Closes #22

@miaobyte
miaobyte merged commit cf3ca07 into main Sep 9, 2026
2 checks passed
@miaobyte
miaobyte deleted the integrate-shm-resize branch September 9, 2026 10:01
@miaobyte

miaobyte commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

v0.2.14 benchmark 复盘:这是双峰取舍,不是全面提升

已在 v0.2.14(shm,min-of-3,隔离重跑验证真实可复现;fs/redis 基本持平,排除 CPU 争用)上跑完 30 case:

大幅变快(call / 递归 / 分配密集)

case Δ
fib -80%
nqueens -77%
binary_search -63%

明显回归(compute 循环密集)

case Δ
matmul +44%
quicksort +41%
iops +40~42%
binary_trees +35~37%
hash_table +34%
prime_sieve +27~35%
k_nucleotide +21~32%

shm 汇总:均值 +3.11%,中位数 +34%(中位数被回归主导)。

机理判断:本 PR 的「data 区 ×64 升根 + head 池翻倍」用更高的基线分配成本大幅减少 resize——只对反复分配/递归场景净赚,对稳态大循环是纯开销。

建议 follow-up:把 ×64 增长因子调温和些(如 ×8/×16 分级),保住 fib/nqueens 的收益同时压回 matmul/quicksort 的回归。

CSV 已落库 kvlang master(PR #281,results-v0.2.14-*.csv)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants