From 7253cbefce93c35a083505e14d97b3ae24c0a66b Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 11 Dec 2006 10:02:14 +0000 Subject: [PATCH] Using timing utility --- isamb/benchindex1.c | 56 +++++++++++++++++++-------------------------------- isamb/benchisamb.c | 48 +++++++++++++++++++++---------------------- 2 files changed, 44 insertions(+), 60 deletions(-) diff --git a/isamb/benchindex1.c b/isamb/benchindex1.c index 4b42b8d..b3d7709 100644 --- a/isamb/benchindex1.c +++ b/isamb/benchindex1.c @@ -1,4 +1,4 @@ -/* $Id: benchindex1.c,v 1.2 2006-12-10 21:02:28 adam Exp $ +/* $Id: benchindex1.c,v 1.3 2006-12-11 10:02:14 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -21,13 +21,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include -#if HAVE_SYS_TIMES_H -#include -#endif -#if HAVE_SYS_TIME_H -#include -#endif - #include #include #include @@ -42,7 +35,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA struct index_block { NMEM nmem; - size_t no_entries; + int no_entries; size_t current_entry; size_t current_max; struct index_term *terms; @@ -137,16 +130,7 @@ void index_block_flush(struct index_block *b, ISAMB isb, Dict dict, int no_words = 0, no_new_words = 0; const char *dict_info = 0; ISAM_P isamc_p = 0; - -#if HAVE_SYS_TIMES_H -#if HAVE_SYS_TIME_H - struct tms tms1, tms2; - struct timeval start_time, end_time; - double usec; - times(&tms1); - gettimeofday(&start_time, 0); -#endif -#endif + zebra_timing_t tim = zebra_timing_create(); b->ar = xmalloc(sizeof(*b->ar) * b->no_entries); for (i = 0; i < b->no_entries; i++, t = t->next) @@ -224,23 +208,14 @@ void index_block_flush(struct index_block *b, ISAMB isb, Dict dict, b->no_entries = 0; b->terms = 0; -#if HAVE_SYS_TIMES_H -#if HAVE_SYS_TIME_H - b->round++; - gettimeofday(&end_time, 0); - times(&tms2); - - usec = (end_time.tv_sec - start_time.tv_sec) * 1000000.0 + - end_time.tv_usec - start_time.tv_usec; - + zebra_timing_stop(tim); + printf("%3d %8.6f %5.2f %5.2f\n", b->round, - usec / 1000000, - (double) (tms2.tms_utime - tms1.tms_utime)/100, - (double) (tms2.tms_stime - tms1.tms_stime)/100); -#endif -#endif - + zebra_timing_get_real(tim), + zebra_timing_get_user(tim), + zebra_timing_get_sys(tim)); + zebra_timing_destroy(&tim); } void index_block_check_flush(struct index_block *b, ISAMB isb, Dict dict, @@ -269,7 +244,7 @@ void index_block_add(struct index_block *b, void exit_usage(void) { - fprintf(stderr, "benchindex1 [-m m] [iso2709file]\n"); + fprintf(stderr, "benchindex1 [-m mem] [-i] [iso2709file]\n"); exit(1); } @@ -444,6 +419,7 @@ int main(int argc, char **argv) int memory = 5; const char *fname = 0; FILE *inf = stdin; + zebra_timing_t tim = 0; while ((ret = options("im:", argv, argc, &arg)) != -2) { @@ -496,6 +472,7 @@ int main(int argc, char **argv) if (reset) bf_reset(bfs); + tim = zebra_timing_create(); /* create isam handle */ isb = isamb_open (bfs, "isamb", 1, &method, 0); if (!isb) @@ -515,6 +492,15 @@ int main(int argc, char **argv) fclose(inf); /* exit block system */ bfs_destroy(bfs); + zebra_timing_stop(tim); + + yaz_log(YLOG_LOG, "Total %8.6f %5.2f %5.2f\n", + zebra_timing_get_real(tim), + zebra_timing_get_user(tim), + zebra_timing_get_sys(tim)); + + zebra_timing_destroy(&tim); + exit(0); return 0; } diff --git a/isamb/benchisamb.c b/isamb/benchisamb.c index 6d5391e..e9aaba7 100644 --- a/isamb/benchisamb.c +++ b/isamb/benchisamb.c @@ -1,4 +1,4 @@ -/* $Id: benchisamb.c,v 1.3 2006-12-10 20:59:52 adam Exp $ +/* $Id: benchisamb.c,v 1.4 2006-12-11 10:02:14 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -134,15 +134,9 @@ void bench_insert(ISAMB isb, int number_of_trees, for (round = 0; round < number_of_rounds; round++) { -#if HAVE_SYS_TIMES_H -#if HAVE_SYS_TIME_H - struct tms tms1, tms2; - struct timeval start_time, end_time; - double usec; - times(&tms1); - gettimeofday(&start_time, 0); -#endif -#endif + zebra_timing_t t = zebra_timing_create(); + + zebra_timing_start(t); for (i = 0; i