Okay time to improve performances, gprof session:
before  real 0m2.483s (2.3.2 release yesterday)
current real 0m1.763s
when parsing (with tree build/freeing) db10000.xml from XSLTMark:
- xmlmemory.h HTMLparser.c HTMLtree.c entities.c parser.c
  xpath.c xpointer.c tree.c uri.c valid.c xinclude.c xmlIO.c:
  avoiding memcpy in production builds MEM_CLEANUP macro use
- parser.[ch] parserInternals.c: optimizations of the tightest
  internal loops inside the parser. Better checking of I/O
  flushing/loading conditions
- xmllint.c : added --timing
Daniel
diff --git a/xmlIO.c b/xmlIO.c
index 290ceab..f623af9 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -908,7 +908,7 @@
 	in->buffer = NULL;
     }
 
-    memset(in, 0xbe, (size_t) sizeof(xmlParserInputBuffer));
+    MEM_CLEANUP(in, (size_t) sizeof(xmlParserInputBuffer));
     xmlFree(in);
 }
 
@@ -945,7 +945,7 @@
 	out->buffer = NULL;
     }
 
-    memset(out, 0xbe, (size_t) sizeof(xmlOutputBuffer));
+    MEM_CLEANUP(out, (size_t) sizeof(xmlOutputBuffer));
     xmlFree(out);
     return(written);
 }