Moe Charm (CI)
c503b212a3
Phase FREE-TINY-FAST-HOTCOLD-OPT-1: Hot/Cold split for free_tiny_fast [RESEARCH BOX - FREEZE]
...
Split free_tiny_fast() into hot and cold paths to reduce I-cache pressure:
- free_tiny_fast_hot(): always_inline, fast-path validation + ULTRA/MID/V7
- free_tiny_fast_cold(): noinline,cold, cross-thread + TinyHeap + legacy
ENV: HAKMEM_FREE_TINY_FAST_HOTCOLD=0/1 (default 0)
Stats: HAKMEM_FREE_TINY_FAST_HOTCOLD_STATS=0/1 (TLS only, exit dump)
## Benchmark Results (random mixed, 100M ops)
HOTCOLD=0 (legacy): 49.35M, 50.18M, 50.25M ops/s (median: 50.18M)
HOTCOLD=1 (split): 43.54M, 43.59M, 43.62M ops/s (median: 43.59M)
**Regression: -13.1%** (NO-GO)
## Stats Analysis (10M ops, HOTCOLD_STATS=1)
Hot path: 50.11% (C7 ULTRA early-exit)
Cold path: 48.43% (legacy fallback)
## Root Cause
Design assumption FAILED: "Cold path is rare"
Reality: Cold path is 48% (almost as common as hot path)
The split introduces:
1. Extra dispatch overhead in hot path
2. Function call overhead to cold for ~48% of frees
3. "Cold" is NOT rare - it's the legacy fallback for non-ULTRA classes
## Conclusion
**FREEZE as research box (default OFF)**
Box Theory value:
- Validated hot/cold distribution via TLS stats
- Confirmed that legacy fallback is NOT rare (48%)
- Demonstrated that naive hot/cold split hurts when "cold" is common
Alternative approaches for future work:
1. Inline the legacy fallback in hot path (no split)
2. Route-specific specialization (C7 vs non-C7 separate paths)
3. Policy-based early routing (before header validation)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2025-12-13 03:16:54 +09:00
..
2025-11-09 18:55:50 +09:00
2025-11-09 18:55:50 +09:00
2025-11-07 01:27:04 +09:00
2025-12-11 21:32:40 +09:00
2025-12-11 21:32:40 +09:00
2025-12-03 12:11:27 +09:00
2025-11-30 05:12:32 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-05 23:41:01 +09:00
2025-12-10 09:08:18 +09:00
2025-12-03 10:34:39 +09:00
2025-11-13 01:45:30 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-11-13 01:45:30 +09:00
2025-12-04 16:21:54 +09:00
2025-12-01 16:05:55 +09:00
2025-12-11 21:21:40 +09:00
2025-12-12 03:12:28 +09:00
2025-12-11 19:17:30 +09:00
2025-12-11 19:17:30 +09:00
2025-12-01 13:47:23 +09:00
2025-11-30 15:27:53 +09:00
2025-12-01 16:37:59 +09:00
2025-12-12 18:40:08 +09:00
2025-12-12 18:40:08 +09:00
2025-12-12 18:40:08 +09:00
2025-11-07 01:27:04 +09:00
2025-12-10 09:08:18 +09:00
2025-11-07 01:27:04 +09:00
2025-11-21 23:00:24 +09:00
2025-11-26 12:33:49 +09:00
2025-12-01 16:37:59 +09:00
2025-12-13 03:16:54 +09:00
2025-12-13 03:16:54 +09:00
2025-12-04 04:58:22 +09:00
2025-12-07 22:49:28 +09:00
2025-12-04 04:58:22 +09:00
2025-12-03 12:11:27 +09:00
2025-12-07 03:12:27 +09:00
2025-11-17 02:47:58 +09:00
2025-11-15 22:08:51 +09:00
2025-12-04 16:21:54 +09:00
2025-12-04 16:21:54 +09:00
2025-11-26 17:12:41 +09:00
2025-12-12 01:14:13 +09:00
2025-12-10 09:08:18 +09:00
2025-12-12 01:04:55 +09:00
2025-12-10 09:08:18 +09:00
2025-12-04 14:22:48 +09:00
2025-12-13 03:16:54 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-11-20 07:32:30 +09:00
2025-12-03 10:34:39 +09:00
2025-11-12 02:45:00 +09:00
2025-12-04 16:21:54 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-06 01:34:04 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-11-07 01:27:04 +09:00
2025-12-12 00:46:25 +09:00
2025-12-12 00:46:25 +09:00
2025-12-12 01:14:13 +09:00
2025-11-29 14:39:07 +09:00
2025-12-12 19:19:25 +09:00
2025-12-11 23:07:26 +09:00
2025-12-04 16:21:54 +09:00
2025-12-04 16:21:54 +09:00
2025-11-17 02:47:58 +09:00
2025-12-12 22:28:13 +09:00
2025-12-12 22:20:19 +09:00
2025-12-12 22:24:21 +09:00
2025-12-12 22:28:13 +09:00
2025-12-12 22:15:21 +09:00
2025-12-12 21:39:18 +09:00
2025-12-12 23:00:06 +09:00
2025-12-12 22:17:53 +09:00
2025-12-09 21:50:15 +09:00
2025-12-09 21:50:15 +09:00
2025-12-10 09:35:18 +09:00
2025-12-10 09:15:24 +09:00
2025-12-10 09:15:24 +09:00
2025-11-06 21:54:12 +09:00
2025-12-12 21:39:18 +09:00
2025-12-09 21:50:15 +09:00
2025-12-13 00:28:03 +09:00
2025-12-13 00:28:03 +09:00
2025-12-13 00:28:03 +09:00
2025-12-13 00:28:03 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-12-12 21:39:18 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-06 21:54:12 +09:00
2025-12-10 09:08:18 +09:00
2025-11-20 07:32:30 +09:00
2025-12-10 09:08:18 +09:00
2025-11-13 01:45:30 +09:00
2025-12-03 17:18:31 +09:00
2025-12-05 20:43:14 +09:00
2025-12-04 16:21:54 +09:00
2025-12-01 16:37:59 +09:00
2025-12-12 03:12:28 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-05 23:41:01 +09:00
2025-11-22 03:30:47 +09:00
2025-11-30 07:16:50 +09:00
2025-12-04 06:22:09 +09:00
2025-12-12 07:12:24 +09:00
2025-12-09 21:50:15 +09:00
2025-12-10 23:30:32 +09:00
2025-12-11 03:09:57 +09:00
2025-12-11 15:29:59 +09:00
2025-12-12 05:11:02 +09:00
2025-12-11 23:51:48 +09:00
2025-12-11 22:45:14 +09:00
2025-12-12 06:09:12 +09:00
2025-12-11 01:44:08 +09:00
2025-12-12 06:09:12 +09:00
2025-12-11 01:01:15 +09:00
2025-12-11 13:32:46 +09:00
2025-12-12 05:11:02 +09:00
2025-12-12 06:37:06 +09:00
2025-12-12 06:06:44 +09:00
2025-12-12 06:52:14 +09:00
2025-12-12 19:19:25 +09:00
2025-12-12 06:20:01 +09:00
2025-12-12 06:52:14 +09:00
2025-12-12 07:12:24 +09:00
2025-12-12 06:20:01 +09:00
2025-12-12 06:09:12 +09:00
2025-12-11 23:51:48 +09:00
2025-12-10 23:30:32 +09:00
2025-12-10 19:14:38 +09:00
2025-12-11 04:14:51 +09:00
2025-12-11 19:17:30 +09:00
2025-12-12 05:11:02 +09:00
2025-11-30 10:48:50 +09:00
2025-12-07 03:12:27 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-11-30 07:16:50 +09:00
2025-12-09 21:50:15 +09:00
2025-12-04 14:22:48 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-08 21:30:21 +09:00
2025-11-20 07:32:30 +09:00
2025-12-02 19:43:23 +09:00
2025-11-28 14:11:37 +09:00
2025-11-17 05:29:08 +09:00
2025-12-03 10:34:39 +09:00
2025-11-16 05:48:59 +09:00
2025-12-09 21:50:15 +09:00
2025-12-10 09:08:18 +09:00
2025-12-04 20:11:24 +09:00
2025-12-10 09:08:18 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-22 02:46:57 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-04 18:01:25 +09:00
2025-12-10 09:15:24 +09:00
2025-12-03 20:42:28 +09:00
2025-12-03 20:42:28 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-11-12 02:45:00 +09:00
2025-11-29 08:44:29 +09:00
2025-11-30 11:06:44 +09:00
2025-12-10 09:08:18 +09:00
2025-12-11 19:38:27 +09:00
2025-12-11 19:38:27 +09:00
2025-12-11 19:38:27 +09:00
2025-12-11 19:26:51 +09:00
2025-12-11 19:26:51 +09:00
2025-12-11 19:26:51 +09:00
2025-12-12 16:26:42 +09:00
2025-12-11 19:01:59 +09:00
2025-12-11 18:34:27 +09:00
2025-12-11 18:34:27 +09:00
2025-12-12 18:40:08 +09:00
2025-12-07 22:49:28 +09:00
2025-12-11 20:39:46 +09:00
2025-12-10 22:19:32 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-09 21:50:15 +09:00
2025-12-02 16:16:51 +09:00
2025-12-02 16:16:51 +09:00
2025-12-10 09:08:18 +09:00
2025-12-10 09:08:18 +09:00
2025-12-03 12:43:02 +09:00
2025-12-03 17:18:31 +09:00
2025-12-08 21:30:21 +09:00
2025-12-10 22:57:26 +09:00
2025-11-30 10:48:50 +09:00
2025-11-30 10:48:50 +09:00
2025-12-03 11:38:11 +09:00
2025-12-08 21:30:21 +09:00
2025-12-08 21:30:21 +09:00
2025-12-09 21:50:15 +09:00
2025-12-03 12:11:27 +09:00
2025-12-11 19:01:59 +09:00
2025-12-07 03:12:27 +09:00
2025-12-07 03:12:27 +09:00
2025-12-04 16:21:54 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 13:42:39 +09:00
2025-12-07 03:12:27 +09:00
2025-12-10 09:08:18 +09:00
2025-12-07 03:12:27 +09:00
2025-12-06 01:34:04 +09:00
2025-12-04 05:54:54 +09:00
2025-12-11 19:02:49 +09:00
2025-12-05 23:41:01 +09:00
2025-12-05 23:41:01 +09:00
2025-12-12 03:12:28 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-12-08 21:30:21 +09:00
2025-12-10 09:08:18 +09:00
2025-12-11 19:38:27 +09:00
2025-12-12 16:31:14 +09:00
2025-12-12 16:31:14 +09:00
2025-11-28 13:42:39 +09:00
2025-12-07 22:49:28 +09:00
2025-12-02 23:29:07 +09:00
2025-12-03 18:06:24 +09:00
2025-12-04 16:21:54 +09:00
2025-12-04 12:55:53 +09:00
2025-12-05 23:41:01 +09:00
2025-12-07 03:12:27 +09:00
2025-12-05 23:41:01 +09:00
2025-12-07 03:12:27 +09:00
2025-12-05 23:41:01 +09:00
2025-12-02 19:13:28 +09:00
2025-12-02 19:13:28 +09:00