X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Ftst-trie.c;h=df9e1d27bc23de2d33c4493f014adbcb7a640959;hb=d622febc1fb702194f7ac3f95bfa6cba448dcc5b;hp=990b151e20ae08d5e1496546a84ed7ecaa99d43a;hpb=193694fdba386a89b4b2a83ce803764302995e89;p=apps%2Fpfixtools.git diff --git a/common/tst-trie.c b/common/tst-trie.c index 990b151..df9e1d2 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" @@ -54,8 +56,7 @@ static trie_t *create_trie_from_file(const char *file) --end; } if (end != map.end) { - syslog(LOG_WARNING, "file %s miss a final \\n, ignoring last line", - file); + warn("file %s miss a final \\n, ignoring last line", file); } db = trie_new(); @@ -130,6 +131,19 @@ int main(int argc, char *argv[]) if (argc > 1) { trie = create_trie_from_file(argv[1]); trie_inspect(trie, false); + if (argc > 2) { + const uint32_t how_many = 8 * 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]); + } + 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); } return 0;