- speedup of IS_CHAR like macros, significant overall improvement
- More interfaces for new I/O functions: xmlNewIOInputStream,
xmlParserInputBufferCreateIO, xmlCreateIOParserCtxt
- added I/O test to xmllint
Daniel
diff --git a/testSAX.c b/testSAX.c
index d5079af..0702f01 100644
--- a/testSAX.c
+++ b/testSAX.c
@@ -46,6 +46,7 @@
static int copy = 0;
static int recovery = 0;
static int push = 0;
+static int speed = 0;
xmlSAXHandler emptySAXHandlerStruct = {
NULL, /* internalSubset */
@@ -635,20 +636,33 @@
fclose(f);
}
} else {
- /*
- * Empty callbacks for checking
- */
- res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
- if (res != 0) {
- fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
- }
+ if (!speed) {
+ /*
+ * Empty callbacks for checking
+ */
+ res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
+ if (res != 0) {
+ fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
+ }
- /*
- * Debug callback
- */
- res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
- if (res != 0) {
- fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
+ /*
+ * Debug callback
+ */
+ res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
+ if (res != 0) {
+ fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
+ }
+ } else {
+ /*
+ * test 100x the SAX parse
+ */
+ int i;
+
+ for (i = 0; i<100;i++)
+ res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
+ if (res != 0) {
+ fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
+ }
}
}
}
@@ -669,6 +683,9 @@
else if ((!strcmp(argv[i], "-push")) ||
(!strcmp(argv[i], "--push")))
push++;
+ else if ((!strcmp(argv[i], "-speed")) ||
+ (!strcmp(argv[i], "--speed")))
+ speed++;
}
for (i = 1; i < argc ; i++) {
if (argv[i][0] != '-') {