docs: HAKMEM v2 generation summary and Phase v7-4 completion
- Add HAKMEM_V2_GENERATION_SUMMARY.md: comprehensive overview of v2 generation - Update CURRENT_TASK.md: 'v2 generation complete' section - Update SMALLOBJECT_V7_DESIGN.md: Phase v7-4 completion notes + v7-5 candidates v2 generation freeze: ULTRA (FROZEN) / MID_v3 (stable) / v7 (research, code freeze) Next: HakORune / JoinIR priority, HAKMEM resumes at v7-5 (multi-class expansion) Layer structure (L0-L3) established, Box Theory implementation patterns confirmed. Design documents serve as maps for future v7 second chapter. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -388,3 +388,75 @@ ULTRA/MID_v3/LEGACY は既存の `tiny_route_env_box.h` を併用(後で統合
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 8. v7 第2章への設計メモ(Phase v7-4 完了時点)
|
||||
|
||||
### 現状(C6-only 研究箱)
|
||||
|
||||
- **性能**: 56.3M ops/s (Phase v7-3, -4.3% overhead)
|
||||
- **設計完了**: SmallHeapCtx / Segment / ColdIface / RegionIdBox 統一
|
||||
- **Policy統合**: 完了(route 一元化)
|
||||
|
||||
### -4.3% Overhead の内訳(仮説)
|
||||
|
||||
| 要因 | 推定 | 対策 |
|
||||
|------|------|------|
|
||||
| Page metadata 間接参照 | ~2% | Multi-class で分摊 |
|
||||
| Extra validation | ~1% | Branch優化 |
|
||||
| RegionIdBox fallback | ~1% | TLS cache強化 |
|
||||
|
||||
### Multi-class 拡張時の検討項目
|
||||
|
||||
1. **Segment 設計**:
|
||||
- Option A: Class ごとに独立 segment (SmallSegment_v7_C6, v7_C5, ...)
|
||||
- Option B: 複数 class を 1 segment 内で共存
|
||||
- Decision point: TLS hint の複数 segment 対応
|
||||
|
||||
2. **TLS Context 拡張**:
|
||||
```c
|
||||
typedef struct SmallHeapCtx_v7_multi {
|
||||
SmallClassHeap_v7 cls[8];
|
||||
// Multi-class TLS hints
|
||||
struct {
|
||||
uintptr_t seg_base;
|
||||
uintptr_t seg_end;
|
||||
SmallSegment_v7* seg;
|
||||
} tls_seg[5]; // C3-C7
|
||||
} SmallHeapCtx_v7_multi;
|
||||
```
|
||||
|
||||
3. **Overhead 分摊の期待値**:
|
||||
- C6-only: -4.3% (current)
|
||||
- C5+C6: -2% (overhead 薄まる)
|
||||
- C4+C5+C6: -1% (さらに薄まる)
|
||||
|
||||
### Learner 連携(Phase v7-5 候補)
|
||||
|
||||
**概要**: SmallPageStatsV7 から実行時最適 route を学習
|
||||
|
||||
```c
|
||||
// Policy Box update interface
|
||||
void small_policy_v7_update_from_learner(
|
||||
const SmallLearnerStats* stats,
|
||||
SmallPolicyV7* policy_out
|
||||
);
|
||||
```
|
||||
|
||||
**学習要件**:
|
||||
- Alloc/free count, peak_live, lifetime_ms
|
||||
- v7 vs MID_v3 の速度比較
|
||||
- Learner の信頼度 threshold
|
||||
|
||||
### HeaderLess 統一(将来検討)
|
||||
|
||||
v7-5 以降でも header を削除できるかの検証:
|
||||
- v6 headerless: page->class_idx で header-free を実装済み
|
||||
- v7 適用: free 時に page_meta から class_idx を取得
|
||||
- Benefit: 1 byte 削減 per allocation(micro, 但し alloc density up)
|
||||
|
||||
### 次世代開始チェックリスト
|
||||
|
||||
- [ ] HAKMEM_V2_GENERATION_SUMMARY.md が地図として機能
|
||||
- [ ] v7-4 時点の設計メモ (本セクション) が読み返せる
|
||||
- [ ] HakORune / JoinIR が一段落(or 並行可能に)
|
||||
- [ ] v7 research box は冷凍庫に保存完了
|
||||
|
||||
Reference in New Issue
Block a user