Priority-2 ENV Cache: hakmem_smallmid.c (1変数追加、1箇所置換)
【追加ENV変数】
- HAKMEM_SMALLMID_ENABLE (default: 0)
【置換ファイル】
- core/hakmem_smallmid.c (1箇所 → ENV Cache)
【変更詳細】
1. ENV Cache (hakmem_env_cache.h):
- 構造体に1変数追加 (46→47変数)
- hakmem_env_cache_init()に初期化追加
- アクセサマクロ追加
- カウント更新: 46→47
2. hakmem_smallmid.c:
- smallmid_is_enabled():
getenv("HAKMEM_SMALLMID_ENABLE") → HAK_ENV_SMALLMID_ENABLE()
- #include "hakmem_env_cache.h" 追加
【効果】
- SmallMid有効化チェックからgetenv()呼び出しを排除
- Warm path起動時のENV参照を1回に削減
【テスト】
✅ make shared → 成功
✅ /tmp/test_mixed3_final → PASSED
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -23,6 +23,7 @@
|
||||
#include "hakmem_build_flags.h"
|
||||
#include "hakmem_smallmid_superslab.h" // Phase 17-2: Dedicated backend
|
||||
#include "tiny_region_id.h" // For header writing
|
||||
#include "hakmem_env_cache.h" // Priority-2: ENV cache
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
|
||||
@ -79,8 +80,8 @@ void smallmid_print_stats(void) {
|
||||
|
||||
bool smallmid_is_enabled(void) {
|
||||
if (__builtin_expect(g_smallmid_enabled == -1, 0)) {
|
||||
const char* env = getenv("HAKMEM_SMALLMID_ENABLE");
|
||||
g_smallmid_enabled = (env && atoi(env) == 1) ? 1 : 0;
|
||||
// Priority-2: Use cached ENV
|
||||
g_smallmid_enabled = HAK_ENV_SMALLMID_ENABLE();
|
||||
|
||||
if (g_smallmid_enabled) {
|
||||
SMALLMID_LOG("Small-Mid allocator ENABLED (ENV: HAKMEM_SMALLMID_ENABLE=1)");
|
||||
|
||||
Reference in New Issue
Block a user