Moe Charm (CI)
3daf75e57f
Phase 5-Step2: Mid Free Route Box (+28.9x free perf, 1.53x faster than system)
Fix critical 19x free() slowdown in Mid MT allocator (1KB-8KB range).
Root Cause:
- Mid MT registers chunks in MidGlobalRegistry
- Free path searches Pool's mid_desc registry (different registry!)
- Result: 100% lookup failure → 4x cascading lookups → libc fallback
Solution (Box Pattern):
- Created core/box/mid_free_route_box.h
- Try Mid MT registry BEFORE classify_ptr() in free()
- Direct route to mid_mt_free() if found
- Fall through to existing path if not found
Performance Results (bench_mid_mt_gap, 1KB-8KB allocs):
- Before: 1.49 M ops/s (19x slower than system malloc)
- After: 41.0 M ops/s (+28.9x improvement)
- vs System malloc: 1.53x faster (41.0 vs 26.8 M ops/s)
Files:
- core/box/mid_free_route_box.h (NEW) - Mid Free Route Box
- core/box/hak_wrappers.inc.h - Add mid_free_route_try() call
- core/hakmem_mid_mt.h - Fix mid_get_min_size() (1024 not 2048)
- bench_mid_mt_gap.c (NEW) - Targeted 1KB-8KB benchmark
- Makefile - Add bench_mid_mt_gap targets
Box Pattern: ✅ Single responsibility, clear contract, testable, minimal change
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:18:20 +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-11-20 07:32:30 +09:00
2025-11-16 06:36:02 +09:00
2025-11-20 07:32:30 +09:00
2025-11-13 06:50:20 +09:00
2025-11-13 01:45:30 +09:00
2025-11-29 07:57:49 +09:00
2025-11-29 06:57:03 +09:00
2025-11-13 01:45:30 +09:00
2025-11-29 09:04:32 +09:00
2025-11-28 01:10:26 +09:00
2025-11-29 06:47:13 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-26 12:33:49 +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-11-07 01:27:04 +09:00
2025-11-20 07:32:30 +09:00
2025-11-29 06:57:03 +09:00
2025-11-07 01:27:04 +09:00
2025-11-17 02:47:58 +09:00
2025-11-29 06:47:13 +09:00
2025-11-17 02:47:58 +09:00
2025-11-15 22:08:51 +09:00
2025-11-27 03:41:07 +09:00
2025-11-16 07:51:37 +09:00
2025-11-26 17:12:41 +09:00
2025-11-28 18:04:32 +09:00
2025-11-17 02:47:58 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 09:04:32 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 14:18:20 +09:00
2025-11-20 07:32:30 +09:00
2025-11-12 02:45:00 +09:00
2025-11-12 02:45:00 +09:00
2025-11-28 16:08:44 +09:00
2025-11-28 17:10:32 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 14:18:20 +09:00
2025-11-17 02:47:58 +09:00
2025-11-17 02:47:58 +09:00
2025-11-17 02:47:58 +09:00
2025-11-28 17:10:32 +09:00
2025-11-11 01:47:06 +09:00
2025-11-06 21:54:12 +09:00
2025-11-06 21:54:12 +09:00
2025-11-06 21:54:12 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +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-11-20 07:32:30 +09:00
2025-11-26 12:33:49 +09:00
2025-11-13 01:45:30 +09:00
2025-11-13 06:50:20 +09:00
2025-11-28 13:42:39 +09:00
2025-11-22 03:30:47 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 14:11:37 +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-11-28 14:11:37 +09:00
2025-11-17 05:29:08 +09:00
2025-11-16 07:51:37 +09:00
2025-11-16 05:48:59 +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-11-20 07:32:30 +09:00
2025-11-22 02:46:57 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 13:42:39 +09:00
2025-11-26 12:33:49 +09:00
2025-11-12 02:45:00 +09:00
2025-11-29 08:44:29 +09:00
2025-11-29 11:58:37 +09:00
2025-11-29 12:18:37 +09:00
2025-11-29 11:58:37 +09:00
2025-11-29 07:57:49 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 13:42:39 +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-11-28 13:42:39 +09:00
2025-11-29 07:57:49 +09:00
2025-11-29 08:44:29 +09:00
2025-11-22 06:50:38 +09:00
2025-11-17 02:47:58 +09:00
2025-11-29 06:57:03 +09:00
2025-11-17 02:47:58 +09:00