Hi Michael, Michael Schmidt <[EMAIL PROTECTED]> writes:
> I was talking about these benchmarks (JDKs builtin SAX parser). > > http://www.ximpleware.com/benchmark1.html The speed of the SAX benchmark looks suspicious. I have a small Expat-based benchmark that on a 1.8Ghz Opteron gives 35MByte/s throughput. Their benchmark claims about 20MByte/s on a 1.7Ghz Pentium M. This seems a bit too fast especially if you consider that Java SAX API converts UTF-8 to UTF-16 while Expat does not. I did not study their benchmark code in detail, but one thing I noticed is that they do not set any event handlers. This is not very realistic and can be exploited by the parser (for example, the parser may see that there is no characters handler and not transcode the text to UTF-16). As David said, to get any meaningful results you need to make sure you are comparing comparable things. > I'm running Ubuntu Linux 6.06 on a 2.0GHz Dua Core with 1GB RAM > available. I compiled the xerces libraries from source, using > gcc/g++ and optimization level -03. I was just wondering about > this performance difference as my processor is even better as > the one used in the experiments above and they used a Java > system instead of C++. If you have any hints on how to speed > up my system I would be really interested in... In our benchmark[1] we get about 12MByte/s *validating* SAX throughput with Xerces-C++ on 1.8Ghz Opteron. One thing you may want to check is that you have validation disabled since all the Ximpleware benchmarks are non-validating. [1] http://www.codesynthesis.com/projects/xsdbench/ hth, -boris -- Boris Kolpackov Code Synthesis Tools CC http://www.codesynthesis.com Open-Source, Cross-Platform C++ XML Data Binding
