Dump shared_pool stage stats aggregated across classes
This commit is contained in:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user