-/* $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
*/
#include <yaz/options.h>
-#if HAVE_SYS_TIMES_H
-#include <sys/times.h>
-#endif
-#if HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
struct index_block {
NMEM nmem;
- size_t no_entries;
+ int no_entries;
size_t current_entry;
size_t current_max;
struct index_term *terms;
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)
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,
void exit_usage(void)
{
- fprintf(stderr, "benchindex1 [-m m] [iso2709file]\n");
+ fprintf(stderr, "benchindex1 [-m mem] [-i] [iso2709file]\n");
exit(1);
}
int memory = 5;
const char *fname = 0;
FILE *inf = stdin;
+ zebra_timing_t tim = 0;
while ((ret = options("im:", argv, argc, &arg)) != -2)
{
if (reset)
bf_reset(bfs);
+ tim = zebra_timing_create();
/* create isam handle */
isb = isamb_open (bfs, "isamb", 1, &method, 0);
if (!isb)
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;
}
-/* $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
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<number_of_trees; i++)
{
if (0)
isamb_dump(isb, isamc_p[i], log_pr);
}
-#if HAVE_SYS_TIMES_H
-#if HAVE_SYS_TIME_H
- 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(t);
printf("%3d %8.6f %5.2f %5.2f\n",
- round+1,
- usec / 1000000,
- (double) (tms2.tms_utime - tms1.tms_utime)/100,
- (double) (tms2.tms_stime - tms1.tms_stime)/100);
-#endif
-#endif
+ round+1,
+ zebra_timing_get_real(t),
+ zebra_timing_get_user(t),
+ zebra_timing_get_sys(t));
+ zebra_timing_destroy(&t);
}
xfree(isamc_p);
}
int number_of_items = 1000;
int number_of_isams = 1000;
int extra_size = 0;
-
+ zebra_timing_t t = 0;
+
while ((ret = options("z:r:n:i:", argv, argc, &arg)) != -2)
{
switch(ret)
method.codec.reset = code_reset;
method.codec.stop = code_stop;
+ t = zebra_timing_create();
+
+ zebra_timing_start(t);
+
/* create block system */
bfs = bfs_create(0, 0);
if (!bfs)
/* exit block system */
bfs_destroy(bfs);
+
+ zebra_timing_stop(t);
+ printf("Total %8.6f %5.2f %5.2f\n",
+ zebra_timing_get_real(t),
+ zebra_timing_get_user(t),
+ zebra_timing_get_sys(t));
+ zebra_timing_destroy(&t);
exit(0);
return 0;
}