X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoom-benchmark.c;h=5a0517cafc6ee650b890d491ad99e8517f84f387;hb=dad26e5daa5c4a10b926d3cd4026bf1aeb01d19f;hp=79b533edd3212758d33a5170545fcfcd66374246;hpb=0c5b90281adaef44cc428df303cd54a0dee568b4;p=yaz-moved-to-github.git diff --git a/zoom/zoom-benchmark.c b/zoom/zoom-benchmark.c index 79b533e..5a0517c 100644 --- a/zoom/zoom-benchmark.c +++ b/zoom/zoom-benchmark.c @@ -1,5 +1,5 @@ /* - * $Id: zoom-benchmark.c,v 1.3 2005-09-11 13:32:39 adam Exp $ + * $Id: zoom-benchmark.c,v 1.7 2005-09-16 07:05:46 adam Exp $ * * Asynchronous multi-target client doing search and piggyback retrieval */ @@ -23,8 +23,9 @@ static int zoom_progress[10]; /* commando line parameters */ static struct parameters_t { - char host[1024]; - char query[1024]; + char host[4096]; + char query[4096]; + char progress[4096]; int concurrent; int timeout; } parameters; @@ -61,6 +62,13 @@ void init_statics() //parameters.query = ""; parameters.concurrent = 1; parameters.timeout = 0; + + /* progress initializing */ + int i; + for (i = 0; i < 4096; i++){ + parameters.progress[i] = 0; + } + } struct time_type @@ -160,15 +168,18 @@ void read_params(int argc, char **argv, struct parameters_t *p_parameters){ int main(int argc, char **argv) { struct time_type time; + ZOOM_connection *z; + ZOOM_resultset *r; + ZOOM_options o; + int i; init_statics(); read_params(argc, argv, ¶meters); - ZOOM_connection z[parameters.concurrent]; - ZOOM_resultset r[parameters.concurrent]; - ZOOM_options o = ZOOM_options_create(); - + z = xmalloc(sizeof(*z) * parameters.concurrent); + r = xmalloc(sizeof(*r) * parameters.concurrent); + o = ZOOM_options_create(); /* async mode */ ZOOM_options_set (o, "async", "1"); @@ -181,7 +192,6 @@ int main(int argc, char **argv) //ZOOM_options_set (o, "elementSetName", "F"); /* connect to all concurrent connections*/ - int i; for ( i = 0; i < parameters.concurrent; i++){ /* create connection - pass options (they are the same for all) */ z[i] = ZOOM_connection_create(o); @@ -194,27 +204,33 @@ int main(int argc, char **argv) r[i] = ZOOM_connection_search_pqf (z[i], parameters.query); // print header of table - printf ("second.usec\ttarget\tprogress\tevent\teventname\terror\terrorname\n"); + printf ("target\tsecond.usec\tprogress\tevent\teventname\t"); + printf("error\terrorname\n"); time_init(&time); /* network I/O. pass number of connections and array of connections */ while ((i = ZOOM_event (parameters.concurrent, z))) { - time_stamp(&time); - int event = ZOOM_connection_last_event(z[i-1]); const char *errmsg; const char *addinfo; int error = 0; int progress = zoom_progress[event]; + if (event == ZOOM_EVENT_SEND_DATA || event == ZOOM_EVENT_RECV_DATA) + continue; + + + time_stamp(&time); error = ZOOM_connection_error(z[i-1] , &errmsg, &addinfo); if (error) - progress = -progress; - - printf ("%i.%06i\t%d\t%d\t%d\t%s\t%d\t%s\n", - time_sec(&time), time_usec(&time), - i-1, progress, + parameters.progress[i] = -progress; + else + parameters.progress[i] += 1; + + printf ("%d\t%ld.%06ld\t%d\t%d\t%s\t%d\t%s\n", + i-1, time_sec(&time), time_usec(&time), + parameters.progress[i], event, zoom_events[event], error, errmsg); @@ -261,6 +277,8 @@ int main(int argc, char **argv) ZOOM_resultset_destroy (r[i]); ZOOM_connection_destroy (z[i]); } + xfree(z); + xfree(r); ZOOM_options_destroy(o); exit (0); }