-/* $Id: benchindex1.c,v 1.6 2006-12-12 15:23:45 adam Exp $
- Copyright (C) 1995-2006
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 2004-2013 Index Data
Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
*/
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <yaz/options.h>
#include <ctype.h>
#include <stdlib.h>
#include <yaz/nmem.h>
#include <yaz/xmalloc.h>
#include <yaz/marcdisp.h>
+#include <yaz/timing.h>
#include <it_key.h>
#include <idzebra/isamb.h>
#include <idzebra/dict.h>
if (b->current_entry >= b->no_entries)
return 0;
-
+
t = b->ar[b->current_entry];
b->current_entry++;
-
+
key.len = 3;
key.mem[0] = t->word_id;
key.mem[1] = t->docid;
int no_words = 0, no_new_words = 0;
const char *dict_info = 0;
ISAM_P isamc_p = 0;
- zebra_timing_t tim_dict = 0;
- zebra_timing_t tim_isamb = 0;
+ yaz_timing_t tim_dict = 0;
+ yaz_timing_t tim_isamb = 0;
zint number_of_int_splits = isamb_get_int_splits(isb);
zint number_of_leaf_splits = isamb_get_leaf_splits(isb);
zint number_of_dict_splits = dict_get_no_split(dict);
-
+
b->ar = xmalloc(sizeof(*b->ar) * b->no_entries);
for (i = 0; i < b->no_entries; i++, t = t->next)
{
b->ar[i] = t;
}
assert(!t);
-
+
qsort(b->ar, b->no_entries, sizeof(*b->ar), cmp_ar);
- tim_dict = zebra_timing_create();
+ tim_dict = yaz_timing_create();
#if 0
for (i = 0; i < b->no_entries; i++)
{
}
}
dict_insert(dict, "_w", sizeof(word_id_seq), &word_id_seq);
-
- zebra_timing_stop(tim_dict);
- tim_isamb = zebra_timing_create();
+
+ yaz_timing_stop(tim_dict);
+ tim_isamb = yaz_timing_create();
b->current_entry = 0;
if (b->no_entries)
{
ISAMC_I isamc_i;
-
+
isamc_i.clientData = b;
isamc_i.read_item = code_read;
dict_insert(dict, "_i", sizeof(isamc_p), &isamc_p);
}
- zebra_timing_stop(tim_isamb);
+ yaz_timing_stop(tim_isamb);
number_of_int_splits = isamb_get_int_splits(isb) - number_of_int_splits;
number_of_leaf_splits = isamb_get_leaf_splits(isb) - number_of_leaf_splits;
if (b->round == 0)
{
printf("# run total dict-real user sys isam-real user sys "
- " intsp leafsp docs postings words new d-spl\n");
+ " intsp leafsp docs postings words new d-spl\n");
}
b->round++;
printf("%5d %9.6f %9.6f %5.2f %5.2f %9.6f %5.2f %5.2f "
- "%6" ZINT_FORMAT0 " %6" ZINT_FORMAT0
- " %5d %8d %6d %6d" " %5" ZINT_FORMAT0 "\n",
+ "%6" ZINT_FORMAT0 " %6" ZINT_FORMAT0
+ " %8d %8d %6d %6d" " %5" ZINT_FORMAT0 "\n",
b->round,
- zebra_timing_get_real(tim_dict) + zebra_timing_get_real(tim_isamb),
- zebra_timing_get_real(tim_dict),
- zebra_timing_get_user(tim_dict),
- zebra_timing_get_sys(tim_dict),
- zebra_timing_get_real(tim_isamb),
- zebra_timing_get_user(tim_isamb),
- zebra_timing_get_sys(tim_isamb),
+ yaz_timing_get_real(tim_dict) + yaz_timing_get_real(tim_isamb),
+ yaz_timing_get_real(tim_dict),
+ yaz_timing_get_user(tim_dict),
+ yaz_timing_get_sys(tim_dict),
+ yaz_timing_get_real(tim_isamb),
+ yaz_timing_get_user(tim_isamb),
+ yaz_timing_get_sys(tim_isamb),
number_of_int_splits,
number_of_leaf_splits,
no_docs,
b->no_entries = 0;
b->terms = 0;
- zebra_timing_destroy(&tim_isamb);
- zebra_timing_destroy(&tim_dict);
+ yaz_timing_destroy(&tim_isamb);
+ yaz_timing_destroy(&tim_dict);
}
void index_block_check_flush(struct index_block *b, ISAMB isb, Dict dict,
{ /* continuation line */
for (i = 0; i<4 && *cp; i++, cp++)
;
- }
+ }
}
nl = 0;
if (*cp == '\n')
sz++;
}
cp++;
- }
+ }
}
if (sz)
index_term(b, term, docid, &seqno);
long off = ftell(inf) - 5;
if (verbose || print_offset)
printf("<!-- Skipping bad byte %d (0x%02X) at offset "
- "%ld (0x%lx) -->\n",
+ "%ld (0x%lx) -->\n",
*buf & 0xff, *buf & 0xff,
off, off);
for (i = 0; i<4; i++)
if (r < rlen)
break;
yaz_marc_read_iso2709(mt, buf, len);
-
+
if (yaz_marc_write_line(mt, wrbuf))
break;
index_block_check_flush(b, isb, dict, no_docs);
}
index_block_flush(b, isb, dict, no_docs);
- wrbuf_free(wrbuf, 1);
+ wrbuf_destroy(wrbuf);
yaz_marc_destroy(mt);
index_block_destroy(&b);
}
int dict_cache_size = 50;
const char *fname = 0;
FILE *inf = stdin;
- zebra_timing_t tim = 0;
+ yaz_timing_t tim = 0;
zint docid_seq = 1;
const char *dict_info;
const char *type = "iso2709";
}
break;
case 'c':
- if (sscanf(arg, "%d:%d", &dict_cache_size, &isam_cache_size)
+ if (sscanf(arg, "%d:%d", &dict_cache_size, &isam_cache_size)
!= 2)
{
fprintf(stderr, "bad cache sizes for -c\n");
exit_usage();
}
}
-
+
if (fname)
{
inf = fopen(fname, "rb");
if (reset)
bf_reset(bfs);
- tim = zebra_timing_create();
+ tim = yaz_timing_create();
/* create isam handle */
isb_postings = isamb_open (bfs, "isamb", isam_cache_size ? 1 : 0,
&method_postings, 0);
}
if (!strcmp(type, "iso2709"))
- index_marc_from_file(isb_postings, dict, &docid_seq, inf, memory,
+ index_marc_from_file(isb_postings, dict, &docid_seq, inf, memory,
0 /* verbose */ , 0 /* print_offset */);
else if (!strcmp(type, "line"))
index_marc_line_records(isb_postings, dict, &docid_seq, inf, memory);
fclose(inf);
/* exit block system */
bfs_destroy(bfs);
- zebra_timing_stop(tim);
+ yaz_timing_stop(tim);
printf("# Total timings real=%8.6f user=%3.2f system=%3.2f\n",
- zebra_timing_get_real(tim),
- zebra_timing_get_user(tim),
- zebra_timing_get_sys(tim));
-
- zebra_timing_destroy(&tim);
+ yaz_timing_get_real(tim),
+ yaz_timing_get_user(tim),
+ yaz_timing_get_sys(tim));
+
+ yaz_timing_destroy(&tim);
exit(0);
return 0;
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab