summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkwaclaw <kwaclaw>2006-04-07 20:25:43 +0000
committerkwaclaw <kwaclaw>2006-04-07 20:25:43 +0000
commitd0d1f5d79f7b6802d40a81a7460c081e88c850ed (patch)
treea4f631ad4097c9594e3d095c7b14ad761f6eb668
parent6d06f9ea100596564279d46e67a7cd8c8ab381e7 (diff)
downloadlibexpat-d0d1f5d79f7b6802d40a81a7460c081e88c850ed.tar.gz
Modified code to use XML_ParserReset() instead of creating a new
parser instance on each iteration of the main loop.
-rw-r--r--tests/benchmark/benchmark.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/benchmark/benchmark.c b/tests/benchmark/benchmark.c
index 86266a0..30a5284 100644
--- a/tests/benchmark/benchmark.c
+++ b/tests/benchmark/benchmark.c
@@ -72,15 +72,16 @@ int main (int argc, char *argv[])
fileSize = fread (XMLBuf, sizeof (char), fileAttr.st_size, fd);
fclose (fd);
+ if (ns)
+ parser = XML_ParserCreateNS(NULL, '!');
+ else
+ parser = XML_ParserCreate(NULL);
+
i = 0;
XMLBufEnd = XMLBuf + fileSize;
while (i < nrOfLoops) {
XMLBufPtr = XMLBuf;
isFinal = 0;
- if (ns)
- parser = XML_ParserCreateNS(NULL, '!');
- else
- parser = XML_ParserCreate(NULL);
tstart = clock();
do {
int parseBufferSize = XMLBufEnd - XMLBufPtr;
@@ -102,10 +103,11 @@ int main (int argc, char *argv[])
} while (!isFinal);
tend = clock();
cpuTime += ((double) (tend - tstart)) / CLOCKS_PER_SEC;
- XML_ParserFree (parser);
+ XML_ParserReset(parser, NULL);
i++;
}
+ XML_ParserFree (parser);
free (XMLBuf);
printf ("%d loops, with buffer size %d. Average time per loop: %f\n",