Stealing eXpat's lunch

26 views
Skip to first unread message

Finnian Reilly

unread,
Jun 21, 2026, 9:03:32 AM (5 days ago) Jun 21
to Eiffel Users
the-Xpact-team.png
Benchmarking Eiffel Xpact and C eXpath

USING: eXpat XML parser (pure C)
Parsing: libexpat/testdata/largefiles/ns_att_test.xml
Parsing time: 164 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <z:row> occurrences 50000
TAG: <rs:data> occurrences 1
TAG: <xml> occurrences 1

USING: Xpact XML parser (Eiffel)
Parsing: libexpat/testdata/largefiles/ns_att_test.xml
Parsing time: 133 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <z:row> occurrences 50000
TAG: <rs:data> occurrences 1
TAG: <xml> occurrences 1


USING: eXpat XML parser (pure C)
Parsing: libexpat/testdata/largefiles/recset.xml
Parsing time: 144 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <z:row> occurrences 50000
TAG: <s:AttributeType> occurrences 32
TAG: <s:datatype> occurrences 32
TAG: <rs:data> occurrences 1
TAG: <s:ElementType> occurrences 1
TAG: <s:Schema> occurrences 1
TAG: <s:extends> occurrences 1
TAG: <xml> occurrences 1

USING: Xpact XML parser (Eiffel)
Parsing: libexpat/testdata/largefiles/recset.xml
Parsing time: 124 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <z:row> occurrences 50000
TAG: <s:AttributeType> occurrences 32
TAG: <s:datatype> occurrences 32
TAG: <xml> occurrences 1
TAG: <s:Schema> occurrences 1
TAG: <s:ElementType> occurrences 1
TAG: <rs:data> occurrences 1
TAG: <s:extends> occurrences 1


USING: eXpat XML parser (pure C)
Parsing: libexpat/testdata/largefiles/wordnet_glossary-20010201.rdf
Parsing time: 70 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <rdf:Description> occurrences 99642
TAG: <b:glossaryEntry> occurrences 49964
TAG: <rdf:RDF> occurrences 1

USING: Xpact XML parser (Eiffel)
Parsing: libexpat/testdata/largefiles/wordnet_glossary-20010201.rdf
Parsing time: 65 ms
Tags sorted in order of occurrence count (Highest first)

TAG: <rdf:Description> occurrences 99642
TAG: <b:glossaryEntry> occurrences 49964
TAG: <rdf:RDF> occurrences 1

the-Xpact-team.png

Finnian Reilly

unread,
Jun 21, 2026, 9:25:07 AM (5 days ago) Jun 21
to Eiffel Users
The code: C and Eiffel
Bench mark script in example: run/*.sh
library-xpact-incremental.14.tar.gz
C-expat-XML-tag-counter.01.tar.Z
examples-xpact-incremental.15.tar.gz

Finnian Reilly

unread,
Jun 21, 2026, 11:21:58 AM (5 days ago) Jun 21
to Eiffel Users
Correcting an unfair advantage for eXpat tag counter
I just realized I unintentionally gave the expat tag counter an unfair advantage by compiling it as a single threaded application. After recompiling the Eiffel tag counter we now have a new set of benchmarks. (inlining set to 5)

Single-threaded-xpact-expat-comparison.png

Reply all
Reply to author
Forward
0 new messages