Fix release build debug logging in tiny_region_id.h

The allocation logging at line 236-249 was missing the
#if !HAKMEM_BUILD_RELEASE guard, causing fprintf(stderr)
on every allocation even in release builds.

Impact: 19.8M ops/s → 28.0M ops/s (+42%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-11-27 11:58:00 +09:00
parent d8e3971dc2
commit 0a8bdb8b18

View File

@ -234,8 +234,7 @@ static inline void* tiny_region_id_write_header(void* base, int class_idx) {
PTR_TRACK_MALLOC(base, 0, class_idx); // Track at BASE (where header is) PTR_TRACK_MALLOC(base, 0, class_idx); // Track at BASE (where header is)
// ========== ALLOCATION LOGGING (Debug builds only) ========== // ========== ALLOCATION LOGGING (Debug builds only) ==========
// NOTE: This logging is ALWAYS active (not guarded by HAKMEM_BUILD_RELEASE) #if !HAKMEM_BUILD_RELEASE
// because we need to track allocations even in optimized debug builds
{ {
extern _Atomic uint64_t g_debug_op_count; extern _Atomic uint64_t g_debug_op_count;
extern __thread TinyTLSSLL g_tls_sll[]; extern __thread TinyTLSSLL g_tls_sll[];
@ -247,6 +246,7 @@ static inline void* tiny_region_id_write_header(void* base, int class_idx) {
fflush(stderr); fflush(stderr);
} }
} }
#endif
// ========== END ALLOCATION LOGGING ========== // ========== END ALLOCATION LOGGING ==========
// Optional guard: log stride/base/user for targeted class // Optional guard: log stride/base/user for targeted class