From 532da4822cac72c87be0268864ca87dd130a5fba Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Mon, 6 Oct 2008 11:33:01 +0200 Subject: [PATCH] Use gettimeofday for finer tests. Signed-off-by: Pierre Habouzit --- common/tst-trie.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/common/tst-trie.c b/common/tst-trie.c index 739bd41..31d6c1b 100644 --- a/common/tst-trie.c +++ b/common/tst-trie.c @@ -33,6 +33,8 @@ * Copyright © 2008 Florent Bruneau */ +#include +#include #include "common.h" #include "str.h" #include "trie.h" @@ -130,11 +132,17 @@ int main(int argc, char *argv[]) trie = create_trie_from_file(argv[1]); trie_inspect(trie, false); if (argc > 2) { - time_t now = time(NULL); - for (uint32_t i = 0 ; i < 1000000000 ; ++i) { + const uint32_t how_many = 2 * 1000 * 1000; + struct timeval start, end; + double diff; + + gettimeofday(&start, NULL); + for (uint32_t i = 0 ; i < how_many ; ++i) { trie_lookup(trie, argv[2]); } - printf("%lu lookups per second\n", 1000000000 / (time(NULL) - now)); + gettimeofday(&end, NULL); + diff = (end.tv_sec - start.tv_sec) + (double)(end.tv_usec - start.tv_usec) / 10e6; + printf("%u lookups per second\n", (int)(how_many / diff)); } trie_delete(&trie); } -- 2.20.1