X-Git-Url: https://git.sesse.net/?p=fjl;a=blobdiff_plain;f=unstuff_test.c;h=a5bf92d9a2e0f88283bd5efbe0f2775d6882ad50;hp=754f8bf9d1398401cae1227c9800151588170302;hb=4b87e80c1ee4dd6a5d5c13e7b4321a956f53378f;hpb=d865eae732932b202a0542f721838f3c8d9c5829 diff --git a/unstuff_test.c b/unstuff_test.c index 754f8bf..a5bf92d 100644 --- a/unstuff_test.c +++ b/unstuff_test.c @@ -1,9 +1,8 @@ #include #include #include -#include -#include +#include "benchmark.h" #include "unstuff.h" void test_basic_unstuff(unstuff_func_t* unstuff) @@ -51,7 +50,7 @@ void gen_random_stuffed_data(uint8_t* dst, size_t len) { // Standard NR LCG (we avoid rand() to get consistent behavior across platforms). uint32_t seed = 1234; - for (int i = 0; i < len; ++i) { + for (unsigned i = 0; i < len; ++i) { seed = seed * 1664525 + 1013904223; uint8_t byte = (uint8_t)(seed & 0xff); if (byte != 0xff) { @@ -67,12 +66,6 @@ void gen_random_stuffed_data(uint8_t* dst, size_t len) } } -double timediff(const struct timeval* a, const struct timeval* b) -{ - return (double)(b->tv_sec - a->tv_sec) + - (double)(b->tv_usec - a->tv_usec) * 1e-6; -} - void test_performance(unstuff_func_t* unstuff) { const size_t len = 4096; @@ -81,19 +74,16 @@ void test_performance(unstuff_func_t* unstuff) uint8_t src[len], dst[len]; gen_random_stuffed_data(src, len); - struct timeval start, now; - gettimeofday(&start, NULL); + start_benchmark_timer(); - for (int i = 0; i < num_runs; ++i) { + for (unsigned i = 0; i < num_runs; ++i) { int ret = unstuff(dst, src, len); assert(ret != -1); } - gettimeofday(&now, NULL); - - double diff = timediff(&start, &now); + double diff = stop_benchmark_timer(); double mb_sec = (len * num_runs) / (1048576.0 * diff); - printf("%u runs with %zu bytes in %.2f seconds = %.2f MB/sec\n", + printf("%u runs with %zu bytes in %.2f CPU seconds = %.2f MB/sec\n", num_runs, len, diff, mb_sec); }