Dump shared_pool stage stats aggregated across classes

This commit is contained in:
Moe Charm (CI)
2025-11-30 12:45:48 +09:00
parent 96c93ea587
commit a50ee0eb5b

View File

@ -533,13 +533,16 @@ static inline void sp_stage_stats_dump_if_enabled(void) {
}
if (!dump_en) return;
// 代表として class0 のカウンタを出す(全クラス合計が欲しければ別途集計
fprintf(stderr,
"[SP_STAGE_STATS] c0: stage0.5=%u stage1=%u stage2=%u stage3=%u\n",
(unsigned)atomic_load_explicit(&g_sp_stage0_hits[0], memory_order_relaxed),
(unsigned)atomic_load_explicit(&g_sp_stage1_hits[0], memory_order_relaxed),
(unsigned)atomic_load_explicit(&g_sp_stage2_hits[0], memory_order_relaxed),
(unsigned)atomic_load_explicit(&g_sp_stage3_hits[0], memory_order_relaxed));
// 全クラス合計を出力(スキャン/ヒットの分布を見るため
uint64_t s0 = 0, s1 = 0, s2 = 0, s3 = 0;
for (int c = 0; c < TINY_NUM_CLASSES_SS; c++) {
s0 += atomic_load_explicit(&g_sp_stage0_hits[c], memory_order_relaxed);
s1 += atomic_load_explicit(&g_sp_stage1_hits[c], memory_order_relaxed);
s2 += atomic_load_explicit(&g_sp_stage2_hits[c], memory_order_relaxed);
s3 += atomic_load_explicit(&g_sp_stage3_hits[c], memory_order_relaxed);
}
fprintf(stderr, "[SP_STAGE_STATS] total: stage0.5=%lu stage1=%lu stage2=%lu stage3=%lu\n",
(unsigned long)s0, (unsigned long)s1, (unsigned long)s2, (unsigned long)s3);
#else
(void)g_sp_stage0_hits; (void)g_sp_stage1_hits; (void)g_sp_stage2_hits; (void)g_sp_stage3_hits;
#endif