[xsd-users] Binary serialization performance in version 4.0.0 vs
3.3.0
Boris Kolpackov
boris at codesynthesis.com
Wed Oct 15 23:32:00 EDT 2014
Hi Svetlana,
svetlana.samsonik at thomsonreuters.com <svetlana.samsonik at thomsonreuters.com> writes:
> After upgrading to version 4.0 there is a performance difference for
> parsing and binary serialization (XDR).
>
> [...]
>
> Is the difference expected?
We check for parsing/serialization performance regressions before
every release and there weren't any between 3.3.0 and 4.0.0. We
haven't tested binary serialization but I wouldn't expect any
difference there since it stayed relatively unchanged.
There is the 'performance' example that measures the parsing
and serialization performance. Here are the numbers I get for
a 50k file:
./driver-3.3 test-50k.xml
parsing:
document size: 51324 bytes
iterations: 1000
time: 3.628948000 sec
throughput: 275.562 documents/sec
throughput: 13.4878 MBytes/sec
serialization:
document size: 51324 bytes
iterations: 1000
time: 4.977265000 sec
throughput: 200.914 documents/sec
throughput: 9.83399 MBytes/sec
./driver-4.0 test-50k.xml
parsing:
document size: 51324 bytes
iterations: 1000
time: 3.686281000 sec
throughput: 271.276 documents/sec
throughput: 13.278 MBytes/sec
serialization:
document size: 51324 bytes
iterations: 1000
time: 5.215050000 sec
throughput: 191.753 documents/sec
throughput: 9.3856 MBytes/sec
For 500k file:
./driver-3.3 test-500k.xml
parsing:
document size: 512146 bytes
iterations: 1000
time: 38.327591000 sec
throughput: 26.0909 documents/sec
throughput: 12.7433 MBytes/sec
serialization:
document size: 512146 bytes
iterations: 1000
time: 51.091402000 sec
throughput: 19.5728 documents/sec
throughput: 9.55974 MBytes/sec
./driver-4.0 test-500k.xml
parsing:
document size: 512146 bytes
iterations: 1000
time: 39.594913000 sec
throughput: 25.2558 documents/sec
throughput: 12.3354 MBytes/sec
serialization:
document size: 512146 bytes
iterations: 1000
time: 50.190411000 sec
throughput: 19.9241 documents/sec
throughput: 9.73135 MBytes/sec
This is on my Linux box compiled with GCC/-O3 and using Xerces-C++ 3.1.1.
Could you run this test in your configuration and see if you get a
similar picture?
Boris
More information about the xsd-users
mailing list