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

Reply via email to