Phase V6-HDR-0: C6-only headerless core 設計確定
- CURRENT_TASK.md: V6-HDR-0 セクション追加(4層 Box Theory) - SMALLOBJECT_CORE_V6_DESIGN.md: V6-HDR-0 設計方針追加 - REGIONID_V6_DESIGN.md: RegionIdBox 設計書新規作成 - smallobject_core_v6_box.h: SmallTlsLaneV6 型+TLS API 追加 - smallobject_core_v6.c: OBSERVE モード追加 - region_id_v6_box.h: RegionIdBox 型スケルトン - page_stats_v6_box.h: PageStatsV6 箱スケルトン - AGENTS.md: v6 研究箱ルールセクション追加 サニティベンチ: Mixed 42.1M, C6-heavy 25.0M(挙動不変確認) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
BIN
docs/analysis/REGIONID_V6_DESIGN.md
Normal file
BIN
docs/analysis/REGIONID_V6_DESIGN.md
Normal file
Binary file not shown.
@ -1,8 +1,37 @@
|
||||
# SmallObject Core v6 設計ドキュメント
|
||||
|
||||
**Date**: 2025-12-11
|
||||
**Phase**: V6-HDR-0 (headerless core 設計確定)
|
||||
**Status**: Design Refresh - C6-only headerless 研究ライン
|
||||
|
||||
---
|
||||
|
||||
## Phase V6-HDR-0: 設計方針転換
|
||||
|
||||
### 背景
|
||||
|
||||
Tiny/ULTRA 層が完成世代(43.9M ops/s)として固定化されたため、
|
||||
v6 は **C6-only の headerless 研究ライン** として再定義する。
|
||||
|
||||
### 重要な設計変更
|
||||
|
||||
1. **C7 ULTRA は frozen 箱として独立**
|
||||
- TinyC7UltraBox / C7UltraSegmentBox はそのまま維持
|
||||
- v6 は C7 に一切触らない(C6-only)
|
||||
|
||||
2. **ptr 分類は RegionIdBox に一元化**
|
||||
- 従来: classify_ptr / hak_super_lookup / ss_fast_lookup が分散
|
||||
- v6: `region_id_lookup_v6(ptr)` で (kind, region_id, page_meta*) を返す
|
||||
|
||||
3. **Stats は page lifetime summary のみを L3 に渡す**
|
||||
- L1/L2 で個別 block の stats は取らない
|
||||
- page retire 時に summary を push
|
||||
|
||||
---
|
||||
|
||||
## 目的
|
||||
|
||||
16〜2KiB 帯の small-object/mid を、**責務を厳密に分離した 4 層構造**で再設計し、
|
||||
16〜2KiB 帯の small-object/mid を、**責務を厳密に分離した 4 層構造**で再設計し、
|
||||
Mixed 16–1024B を mimalloc の 5割(50〜60M ops/s)クラスに近づけるための「核」となる Core v6 の仕様を固定する。
|
||||
|
||||
v5 までは:
|
||||
@ -423,7 +452,26 @@ uint32_t region_id_box_lookup(void* ptr);
|
||||
|
||||
## 実装ステータス(2025-12-11)
|
||||
|
||||
### Phase V6-HDR-0(進行中)
|
||||
|
||||
v6 を C6-only headerless 研究ラインとして再定義。主な変更:
|
||||
|
||||
| タスク | 状態 | 内容 |
|
||||
|--------|------|------|
|
||||
| 1-1 | ✅ | CURRENT_TASK.md に V6-HDR-0 セクション追加 |
|
||||
| 1-2 | ✅ | 本ドキュメント更新(設計方針転換) |
|
||||
| 1-3 | pending | REGIONID_V6_DESIGN.md 新規作成 |
|
||||
| 2-1 | pending | SmallTlsLaneV6 / SmallHeapCtxV6 型スケルトン |
|
||||
| 2-2 | pending | v6 TLS API シグネチャ定義 |
|
||||
| 3-1 | pending | RegionIdBox 型と lookup API |
|
||||
| 3-2 | pending | OBSERVE モード(free 入口ログ)|
|
||||
| 4-1 | pending | PageStatsV6 箱追加 |
|
||||
| 5-1 | pending | AGENTS.md に v6 ルール追記 |
|
||||
| 5-2 | pending | サニティベンチ確認 |
|
||||
|
||||
### 過去フェーズ(参考)
|
||||
|
||||
- **v6-3**: C6-only で baseline 同等まで改善。
|
||||
- C6-heavy A/B: v6 OFF 27.1M → v6-3 ON **27.1M ops/s(±0%)** ✅
|
||||
- TLS ownership check + batch header write + TLS batch refill の薄型化完了。
|
||||
- **Mixed 安定化は v6-4 のスコープ**: v6 ON で hang 発生中、デバッグ中。
|
||||
- **v6-4〜v6-6**: C5/C4 拡張を試行したが回帰が大きく研究箱に留める。
|
||||
|
||||
Reference in New Issue
Block a user