]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/papers/use_case/stats/parse/parse_xmlreader.c
added parse test for
[helm.git] / helm / papers / use_case / stats / parse / parse_xmlreader.c
diff --git a/helm/papers/use_case/stats/parse/parse_xmlreader.c b/helm/papers/use_case/stats/parse/parse_xmlreader.c
new file mode 100644 (file)
index 0000000..e154b70
--- /dev/null
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <sys/time.h>
+#include <libxml/xmlreader.h>
+
+int
+main(int argc, char *argv[])
+{
+       struct timeval timing1, timing2;
+       xmlTextReaderPtr reader;
+       int ret;
+       reader = xmlReaderForFd(0, NULL, NULL, 0);
+       if (reader == NULL) {
+               fprintf(stderr, "Can't instantiate parser\n");
+               return 1;
+       }
+       gettimeofday(&timing1, NULL);
+       ret = xmlTextReaderRead(reader);
+       while (ret == 1) {
+               ret = xmlTextReaderRead(reader);
+       }
+       gettimeofday(&timing2, NULL);
+       xmlFreeTextReader(reader);
+       if (ret != 0) {
+               fprintf(stderr, "failed to parse STDIN\n");
+       }
+       fprintf(stdout, "%d\n",
+                       ((timing2.tv_sec * 1000000 + timing2.tv_usec) -
+                        (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000);
+       return 0;
+}
+