From c0d070addfc90ae1c0d4d3500257e69e55f05c4c Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Sat, 7 Sep 2024 14:00:32 +0300 Subject: [PATCH] Report CPU freq as measured by rdtsc It makes issues like #241 more visible --- SpeedTest.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/SpeedTest.cpp b/SpeedTest.cpp index 32831029..9b06639f 100644 --- a/SpeedTest.cpp +++ b/SpeedTest.cpp @@ -284,18 +284,20 @@ void BulkSpeedTest ( pfHash hash, uint32_t seed ) volatile double warmup_cycles = SpeedTest(hash,seed,trials,blocksize,0); + const double MHz2MiBps = (1000.0 * 1000.0) / (1024.0 * 1024.0); for(int align = 7; align >= 0; align--) { double cycles = SpeedTest(hash,seed,trials,blocksize,align); double bestbpc = double(blocksize)/cycles; - - double bestbps = (bestbpc * 3000000000.0 / 1048576.0); - printf("Alignment %2d - %6.3f bytes/cycle - %7.2f MiB/sec @ 3 ghz\n",align,bestbpc,bestbps); + const unsigned cpuMHz = GetCpuFreqMHz(); + double bestbps = (bestbpc * cpuMHz * MHz2MiBps); + printf("Alignment %2d - %6.3f bytes/cycle - %7.2f MiB/sec @ %u MHz\n",align,bestbpc,bestbps,cpuMHz); sumbpc += bestbpc; } + const unsigned cpuMHz = GetCpuFreqMHz(); sumbpc = sumbpc / 8.0; - printf("Average - %6.3f bytes/cycle - %7.2f MiB/sec @ 3 ghz\n",sumbpc,(sumbpc * 3000000000.0 / 1048576.0)); + printf("Average - %6.3f bytes/cycle - %7.2f MiB/sec @ %u MHz\n",sumbpc,sumbpc*cpuMHz*MHz2MiBps,cpuMHz); fflush(NULL); }