Phase v5-1: SmallObject v5 C6-only route stub 接続
- tiny_route_env_box.h: TINY_ROUTE_SMALL_HEAP_V5 enum 追加、route snapshot で C6→v5 分岐 - malloc_tiny_fast.h: alloc/free switch に v5 case 追加(v1/pool fallback) - smallobject_hotbox_v5.c: stub 実装(alloc は NULL 返却、free は no-op) - smallobject_hotbox_v5_box.h: 関数 signature に ctx パラメータ追加 - Makefile: core/smallobject_hotbox_v5.o をリンクリストに追加 - ENV_PROFILE_PRESETS.md: v5-1 プリセット追記 - CURRENT_TASK.md: Phase v5-1 完了記録 **特性**: - ENV: HAKMEM_SMALL_HEAP_V5_ENABLED=1 / HAKMEM_SMALL_HEAP_V5_CLASSES=0x40 で opt-in - テスト結果: C6-heavy (v5 OFF 15.5M → v5 ON 16.4M ops/s, 正常), Mixed 47.2M ops/s, SEGV/assert なし - 挙動は v1/pool fallback と同じ(実装は v5-2) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -135,6 +135,49 @@ HAKMEM_BENCH_MAX_SIZE=768
|
||||
|
||||
---
|
||||
|
||||
## Research Profile 0: C6_SMALL_HEAP_V5_STUB(SmallObject v5 C6-only route stub, Phase v5-1)
|
||||
|
||||
### 目的
|
||||
- C6-only を SmallObject v5 route に載せるベンチ専用(v5-1 段階では挙動は v1/pool fallback)。
|
||||
- ENV gate(HAKMEM_SMALL_HEAP_V5_ENABLED=1, HAKMEM_SMALL_HEAP_V5_CLASSES=0x40)で route 制御。
|
||||
- front 経由で v5 通電確認&sanity テスト(実装は v5-2 以降)。
|
||||
- Mixed/C6-heavy で v1 baseline と同じ perf を期待。
|
||||
|
||||
### ENV(v5 C6-only opt-in)
|
||||
```sh
|
||||
HAKMEM_BENCH_MIN_SIZE=257
|
||||
HAKMEM_BENCH_MAX_SIZE=768
|
||||
HAKMEM_TINY_HEAP_PROFILE=C7_SAFE
|
||||
HAKMEM_TINY_C6_HOT=0
|
||||
HAKMEM_TINY_HOTHEAP_V2=0
|
||||
HAKMEM_SMALL_HEAP_V3_ENABLED=1
|
||||
HAKMEM_SMALL_HEAP_V3_CLASSES=0x80 # C7-only v3(C6 は v3 OFF)
|
||||
HAKMEM_SMALL_HEAP_V5_ENABLED=1 # ★ v5 ON
|
||||
HAKMEM_SMALL_HEAP_V5_CLASSES=0x40 # ★ C6(bit6) だけ v5 route に
|
||||
HAKMEM_POOL_V2_ENABLED=0
|
||||
HAKMEM_POOL_V1_FLATTEN_ENABLED=0
|
||||
```
|
||||
|
||||
### テストコマンド
|
||||
```sh
|
||||
export HAKMEM_PROFILE=C6_HEAVY_LEGACY_POOLV1
|
||||
export HAKMEM_SMALL_HEAP_V5_ENABLED=1
|
||||
export HAKMEM_SMALL_HEAP_V5_CLASSES=0x40
|
||||
./bench_random_mixed_hakmem 256 512 100 # C6 size range
|
||||
./bench_mid_large_mt_hakmem 1 1000000 400 1 # pool baseline comparison
|
||||
```
|
||||
|
||||
### 期待値
|
||||
- Throughput ≈ v1 baseline(変化なし、v1 fallback の為)
|
||||
- segv/assert なし
|
||||
- route snapshot で C6 → TINY_ROUTE_SMALL_HEAP_V5 に分岐確認
|
||||
|
||||
### 注意
|
||||
- v5-1 では中身は v1/pool fallback のまま(実装は v5-2)
|
||||
- 本線には載せない、研究箱扱い
|
||||
|
||||
---
|
||||
|
||||
## Research Profile 1: C6_ONLY_SMALLOBJECT_V4(SmallObject v4 C6-only 試運転)
|
||||
|
||||
### 目的
|
||||
|
||||
Reference in New Issue
Block a user