|
|
fc1c47043c
|
Phase PERF-ULTRA-REFILL-OPT-1a/1b: C7 ULTRA refill パス最適化
実装内容:
- Phase 1a: Page size macro化
- TINY_C7_ULTRA_PAGE_SHIFT (16) を定義
- tiny_c7_ultra_page_of で division → bit shift に変更
- refill/free での seg_end 計算を multiplication → bit shift に最適化
- Phase 1b: Segment learning を移動
- segment learning を free初回 → alloc refill時に移動
- free側での unlikely segment_from_ptr call を削除
- normal pattern (alloc → free) での segment既学習を前提
ベンチマーク結果(Mixed 16-1024B, 1M iter, ws=400):
- Baseline: 39.5M ops/s
- Phase 1a: 39.5M ops/s (誤差範囲)
- Phase 1b: 42.3M ops/s
- 最終平均: 43.9M ops/s (+11.1% = +4.4M ops/s)
tiny_c7_ultra_page_of は計測では同じ値だが、実際には以下が改善:
- division コスト削減(数cycle/call)
- free時のsegment learning削除(per-thread 1回削減)
- refill での計算簡素化
これにより全体の refill パス最適化が達成できました。
|
2025-12-11 22:16:07 +09:00 |
|