Bench: add C7-only mode for warm TLS tests

This commit is contained in:
Moe Charm (CI)
2025-12-05 20:56:20 +09:00
parent e96e9a4bf9
commit 96c2988381

View File

@ -41,6 +41,16 @@ static inline uint32_t xorshift32(uint32_t* s){
uint32_t x=*s; x^=x<<13; x^=x>>17; x^=x<<5; *s=x; return x;
}
// Debug helper: C7 専用ベンチモード (ENV: HAKMEM_BENCH_C7_ONLY=1)
static int bench_mode_c7_only = -1;
static inline int bench_is_c7_only_mode(void) {
if (bench_mode_c7_only == -1) {
const char* e = getenv("HAKMEM_BENCH_C7_ONLY");
bench_mode_c7_only = (e && *e && *e != '0') ? 1 : 0;
}
return bench_mode_c7_only;
}
int main(int argc, char** argv){
int cycles = (argc>1)? atoi(argv[1]) : 10000000; // total ops (10M for steady-state measurement)
int ws = (argc>2)? atoi(argv[2]) : 8192; // working-set slots
@ -77,6 +87,12 @@ int main(int argc, char** argv){
if (min_size < 1) min_size = 1;
if (max_size < min_size) max_size = min_size;
// C7 専用モード: サイズを C7 帯に固定(現行 C7 ブロックサイズ ≈ 1024B
if (bench_is_c7_only_mode()) {
min_size = 1024;
max_size = 1024;
}
if (cycles <= 0) cycles = 1;
if (ws <= 0) ws = 1024;