Changes: - Branch updated from larson-master-rebuild to master - Phase 1 marked as DONE (cleanup & stabilization complete) - Documented master establishment (d26dd092b) - Added reference to master-80M-unstable backup branch - Updated performance numbers (Larson 51.95M, Random Mixed 66.82M) - Outlined three options for future work Current state: - master @d26dd092b: stable, Larson works (0% crash) - master-80M-unstable @ 328a6b722: preserved for reference - PERFORMANCE_HISTORY_62M_TO_80M.md: documents 80M path 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
5.1 KiB
5.1 KiB
CURRENT TASK - Stable Master Established
Last Updated: 2025-11-26
Branch: master (formerly larson-master-rebuild)
Scope: 安定版 master 確立完了 - Larson 動作 + 67M ops/s
🎯 現状サマリ
✅ 新 master 性能(安定版)
| Benchmark | Performance | Status |
|---|---|---|
| Larson 1T | 51.95M ops/s | ✅ 安定動作 (0% crash) |
| Random Mixed 256B | 66.82M ops/s | ✅ 安定動作 |
Branch: master @ d26dd092b
Architecture: E1-CORRECT (C0,C7 offset=0; C1-C6 offset=1)
📚 旧 master 保存(参考用)
- Branch:
master-80M-unstable@ 328a6b722 - Random Mixed: ~80M ops/s
- Larson: 100% クラッシュ (Step 2.5 バグ)
- Architecture: UNIFIED-HEADER (全クラス offset=1)
- 80M 達成経路:
PERFORMANCE_HISTORY_62M_TO_80M.md参照
📋 作業計画
Phase 0: 安定ベースライン確立 ✅ DONE
larson-fixブランチからlarson-master-rebuild作成- Larson 動作確認 (51M ops/s)
- Random Mixed 動作確認 (62M ops/s)
Phase 1: クリーンアップ & 安定化 ✅ DONE
目標: 安定状態でコードベースを整理
1.1 Cherry-pick 済み(7コミット)
9793f17d6レガシーコード削除 (-1,159 LOC)cc0104c4eテストファイル削除 (-1,750 LOC)416930eb6バックアップファイル削除 (-1,072 KB)225b6fcc7死コード削除: UltraHot, RingCache等 (-1,844 LOC)2c99afa49学習システムバグドキュメント328a6b722Larsonバグ分析更新0143e0fedCONFIGURATION.md 追加
1.2 追加最適化
a2e65716btiny_get_max_size inline化 (+2M ops/s期待値)d35504163Superslab Min-Keep ポート(後にリバート)bea839addMin-Keep リバート(Larson 安定化)d26dd092bPerformance History ドキュメント作成
1.3 master 確立
- 旧 master を
master-80M-unstableにバックアップ - master ブランチを安定版 (
d26dd092b) に更新 - Larson 0% crash 確認 (51.95M ops/s)
- Random Mixed 67M ops/s 確認
Phase 2: 性能最適化ポート 📊 PENDING
目標: 62M → 80M+ ops/s 回復
2.1 簡単なチューニング(独立・低リスク)
e81fe783dtiny_get_max_size inline化 (+2M)04a60c316Superslab/SharedPool チューニング (+1M)392d29018Unified Cache容量チューニング (+1M)dcd89ee88Stage 1 lock-free (+0.3M)
2.2 本丸(UNIFIED-HEADER)
472b6a60bPhase UNIFIED-HEADER (+17%, C7ヘッダ統一)d26519f67UNIFIED-HEADERバグ修正 (+15-41%)165c33bc2Larsonフォールバック修正(必要なら)
2.3 スキップ対象
- ❌
03d321f6bPhase 27 Ultra-Inline → -10~15%回帰 - ❌ Step 2.5関連コミット → Larsonクラッシュの原因
Phase 3: 検証 & マージ 🔀 PENDING
- Larson 10回平均ベンチマーク
- Random Mixed 10回平均ベンチマーク
- master ブランチ更新
🔍 根本原因分析
Larson クラッシュの原因
First Bad Commit: 19c1abfe7 "Fix Unified Cache TLS SLL bypass"
Step 2.5 が TLS_SLL_PUSH_DUP を「修正」するために追加されたが:
- TLS_SLL_PUSH_DUP は実際には発生しない(ベースで10M回テスト済み)
- Step 2.5 がマルチスレッド環境で cross-thread ownership 問題を引き起こす
- 結論:不要な「修正」が Larson を壊した
80M 達成の主要因
| コミット | 内容 | 改善幅 |
|---|---|---|
472b6a60b |
UNIFIED-HEADER (C7統一) | +17% |
d26519f67 |
UH バグ修正 | +15-41% |
| その他チューニング | inline, policy等 | +4-5M |
📁 関連ファイル
修正対象
core/front/tiny_unified_cache.c- Step 2.5 なしのまま維持core/tiny_free_fast_v2.inc.h- LARSON_FIX 関連core/box/ptr_conversion_box.h- UNIFIED-HEADER で変更予定
ドキュメント
LEARNING_SYSTEM_BUGS_P0.md- 学習システムバグ記録CONFIGURATION.md- ENV変数リファレンスPROFILES.md- 性能プロファイル
✅ 完了マイルストーン
- Larson 安定化 - 51M ops/s で動作 ✅
- Cherry-pick Phase 1 - 7コミット完了 ✅
- ベースライン確立 - 62M/51M で安定 ✅
🎯 次のアクション
現時点での選択肢
-
Option A: 現状維持(推奨)
- master @ 67M ops/s (Larson 安定)
- 80M の知見は
PERFORMANCE_HISTORY_62M_TO_80M.mdとmaster-80M-unstableに保存済み - Phase 2 (性能最適化) は将来の作業として保留
-
Option B: UNIFIED-HEADER ポート(高難度)
- 80M 達成の主要因(+17% + +15-41%)
- E1-CORRECT との互換性問題あり
- 大規模な書き換えが必要
- 詳細:
PERFORMANCE_HISTORY_62M_TO_80M.mdSection "Option 3"
-
Option C: Step 2.5 Revert(失敗済み)
- master-80M-unstable から Step 2.5 をリバート
- 複雑な conflict (33行変更) で35+ 回失敗済み
- 推奨しない