Working state before pushing to cyu remote
This commit is contained in:
@ -11,36 +11,27 @@
|
||||
|
||||
mimalloc との比較は **FAST build** で行う(Standard は fixed tax を含むため公平でない)。
|
||||
|
||||
## Current snapshot(2025-12-18, Phase 69 PGO + WarmPool=16 — 現行 baseline)
|
||||
## Current snapshot(2025-12-18, Phase 89 SSOT capture — 現行 baseline)
|
||||
|
||||
計測条件(再現の正):
|
||||
- Mixed: `scripts/run_mixed_10_cleanenv.sh`(`ITERS=20000000 WS=400`)
|
||||
- 10-run mean/median
|
||||
- Git: master (Phase 68 PGO, seed/WS diversified profile)
|
||||
- **Baseline binary**: `bench_random_mixed_hakmem_minimal_pgo` (Phase 68 upgraded)
|
||||
- **Stability**: Phase 66: 3 iterations, +3.0% mean, variance <±1% | Phase 68: 10-run, +1.19% vs Phase 66 (GO)
|
||||
**このスコアカードの「現行の正」は Phase 89 の SSOT capture**を基準にする:
|
||||
- SSOT capture: `docs/analysis/PHASE89_SSOT_MEASUREMENT.md`(Git SHA: `e4c5f0535`)
|
||||
- Mixed SSOT runner: `scripts/run_mixed_10_cleanenv.sh`(`ITERS=20000000 WS=400`)
|
||||
- プロファイル: `HAKMEM_PROFILE=MIXED_TINYV3_C7_SAFE`
|
||||
- SSOT を崩す最頻事故: `HAKMEM_PROFILE` 未指定 / `MIN_SIZE/MAX_SIZE` 漏れ(→経路が変わる)
|
||||
|
||||
Note:
|
||||
- Phase 75 introduced C5/C6 inline slots and promoted them into presets. Phase 75 A/B results were recorded on the Standard binary (`./bench_random_mixed_hakmem`).
|
||||
- FAST PGO SSOT baselines/ratios should only be updated after re-running A/B with `BENCH_BIN=./bench_random_mixed_hakmem_minimal_pgo`.
|
||||
### hakmem SSOT baselines(Phase 89)
|
||||
|
||||
### hakmem Build Variants(同一バイナリレイアウト)
|
||||
|
||||
| Build | Mean (M ops/s) | Median (M ops/s) | vs mimalloc | 備考 |
|
||||
|-------|----------------|------------------|-------------|------|
|
||||
| FAST v3 | 58.478 | 58.876 | 48.34% | 旧 baseline(Phase 59b rebase)。性能評価の正から昇格 → Phase 66 PGO へ |
|
||||
| FAST v3 + PGO | 59.80 | 60.25 | 49.41% | Phase 47: NEUTRAL (+0.27% mean, +1.02% median, research box) |
|
||||
| **FAST v3 + PGO (Phase 66)** | **60.89** | **61.35** | **50.32%** | **GO: +3.0% mean (3回検証済み、安定 <±1%)**。Phase 66 PGO initial baseline |
|
||||
| **FAST v3 + PGO (Phase 68)** | **61.614** | **61.924** | **50.93%** | **GO: +1.19% vs Phase 66** ✓ (seed/WS diversification) |
|
||||
| **FAST v3 + PGO (Phase 69)** | **62.63** | **63.38** | **51.77%** | **強GO: +3.26% vs Phase 68** ✓✓✓ (Warm Pool Size=16, ENV-only) → **昇格済み 新 FAST baseline** ✓ |
|
||||
| FAST v3 + PGO + Phase 75 (C5+C6 ON) [Point D] | **55.51** | - | **45.70%** | Phase 75-4 FAST PGO rebase (C5+C6 inline slots): +3.16% vs Point A ✓ **[REBASE URGENT]** |
|
||||
| Standard | 53.50 | - | 44.21% | 安全・互換基準(Phase 48 前計測、要 rebase) |
|
||||
| OBSERVE | TBD | - | - | 診断カウンタ ON |
|
||||
| Build | Mean (M ops/s) | Median (M ops/s) | 備考 |
|
||||
|-------|----------------|------------------|------|
|
||||
| Standard | **51.36** | - | SSOT baseline(telemetryなし、最適化判断の正) |
|
||||
| FAST PGO minimal | **54.16** | - | SSOT ceiling(`bench_random_mixed_hakmem_minimal_pgo`)。Standard比 **+5.45%** |
|
||||
| OBSERVE | 51.52 | - | 経路確認用(telemetry込み)。性能比較の正ではない |
|
||||
|
||||
補足:
|
||||
- Phase 66/68/69(60M〜62M台)は **過去コミットでの到達点(historical)**。現 HEAD の SSOT baseline と直接比較しない(比較する場合は rebase を取る)。
|
||||
- Phase 63: `make bench_random_mixed_hakmem_fast_fixed`(`HAKMEM_FAST_PROFILE_FIXED=1`)は research build(GO 未達時は SSOT に載せない)。結果は `docs/analysis/PHASE63_FAST_PROFILE_FIXED_BUILD_RESULTS.md`。
|
||||
|
||||
**FAST vs Standard delta: +10.6%**(Standard 側は Phase 48 前計測、mimalloc baseline 変更で ratio 調整)
|
||||
**FAST vs Standard delta(Phase 89): +5.45%**
|
||||
|
||||
**Phase 59b Notes:**
|
||||
- **Profile Change**: Switched from `MIXED_TINYV3_C7_BALANCED` to `MIXED_TINYV3_C7_SAFE` (Speed-first) as canonical default
|
||||
@ -92,7 +83,7 @@ scripts/bench_allocators_compare.sh --scenario mixed --iterations 50
|
||||
|
||||
結果(2025-12-18, mixed, iterations=50):
|
||||
|
||||
| allocator | ops/sec (M) | vs mimalloc (Phase 69 ref) | vs system | soft_pf | RSS (MB) |
|
||||
| allocator | ops/sec (M) | vs mimalloc (reference) | vs system | soft_pf | RSS (MB) |
|
||||
|----------|--------------|----------------------------|-----------|---------|----------|
|
||||
| tcmalloc (LD_PRELOAD) | 34.56 | 28.6% | 11.2x | 3,842 | 21.5 |
|
||||
| jemalloc (LD_PRELOAD) | 24.33 | 20.1% | 7.9x | 143 | 3.8 |
|
||||
@ -114,16 +105,16 @@ scripts/bench_allocators_compare.sh --scenario mixed --iterations 50
|
||||
|
||||
推奨マイルストーン(Mixed 16–1024B, FAST build):
|
||||
|
||||
| Milestone | Target | Current (2025-12-18, corrected) | Status |
|
||||
| Milestone | Target | Current (Phase 89 SSOT) | Status |
|
||||
|-----------|--------|-----------------------------------|--------|
|
||||
| M1 | mimalloc の **50%** | 44.46% | 🟡 **未達** (PROFILE 修正後の計測) |
|
||||
| M2 | mimalloc の **55%** | 44.46% | 🔴 **未達** (Gap: -10.54pp)|
|
||||
| M1 | mimalloc の **50%** | 43.39% | 🟡 **未達** |
|
||||
| M2 | mimalloc の **55%** | 43.39% | 🔴 **未達** (Gap: -11.61pp)|
|
||||
| M3 | mimalloc の **60%** | - | 🔴 未達(構造改造必要)|
|
||||
| M4 | mimalloc の **65–70%** | - | 🔴 未達(構造改造必要)|
|
||||
|
||||
**現状:** hakmem (FAST PGO) (2025-12-18) = 55.53M ops/s = mimalloc の 44.46%(Random Mixed, WS=400, ITERS=20M, 10-run)
|
||||
**現状(SSOT):** hakmem (FAST PGO minimal) = **54.16M ops/s** = mimalloc の **43.39%**(Random Mixed, WS=400, ITERS=20M, 10-run)
|
||||
|
||||
⚠️ **重要**: Phase 69 baseline (62.63M = 51.77%) は古い計測条件の可能性。PROFILE 明示修正後の新 baseline は 44.46%(M1 未達)。
|
||||
⚠️ **重要**: Phase 66/68/69(60M〜62M台)は過去コミットでの到達点(historical)。現 HEAD との比較は `docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_SSOT.md` に沿って rebase を取ってから行う。
|
||||
|
||||
**Phase 68 PGO 昇格(Phase 66 → Phase 68 upgrade):**
|
||||
- Phase 66 baseline: 60.89M ops/s = 50.32% (+3.0% mean, 3-run stable)
|
||||
|
||||
Reference in New Issue
Block a user