X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=isamb%2Fbenchindex1.c;fp=isamb%2Fbenchindex1.c;h=b3d7709cb1909906774d792f2fee69316b23b11f;hb=7253cbefce93c35a083505e14d97b3ae24c0a66b;hp=4b42b8d1b9bcafe2c497c04cbf2e037d1c93a15e;hpb=761702c17906c9c71a0c42e7abaa18e578aec012;p=idzebra-moved-to-github.git 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; }