Skip to content

Conversation

Mingun
Copy link
Collaborator

@Mingun Mingun commented Jun 21, 2025

Allow to benchmarking latest available versions. Because performance of maybe_xml degraded by 2 times, I kept version 0.10 which was (and still is) the fastest XML parser.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 58.53%. Comparing base (254fbd2) to head (15a3e86).
Report is 21 commits behind head on master.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #872      +/-   ##
==========================================
- Coverage   60.74%   58.53%   -2.22%     
==========================================
  Files          41       42       +1     
  Lines       16044    17066    +1022     
==========================================
+ Hits         9746     9989     +243     
- Misses       6298     7077     +779     
Flag Coverage Δ
unittests 58.53% <ø> (-2.22%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dralley
Copy link
Collaborator

dralley commented Jun 22, 2025

Why did maybe_xml performance degrade? Because if it was perhaps for some spec-compliance reason, IMO the thing that would make the most sense to track the latest version - because it's not like we subject quick-xml to the same handicap (though we obviously don't have 100% compliance)

@Mingun
Copy link
Collaborator Author

Mingun commented Jun 22, 2025

Why did maybe_xml performance degrade?

I don't know, but when I studied the source code of maybe_xml 0.10, it seemed to me very logical and straightforward. It almost correctly parse well-formed documents (except for inline DTD declarations). It could be ideal for situations where you are sure that you have valid documents without DTD (which is anyway rarely used because replaced by XML Schema). That is why I want to keep it in the comparison as an ideal to strive for.

The slowdown is most likely due to the fact that in version 0.11 the parser now checks the validity of characters during parsing in each state, and not just looks for boundaries of events (like it did in 0.10 and as quick-xml does).

@bluk, just that you know

@Mingun Mingun merged commit d6dfeed into tafia:master Jun 22, 2025
7 checks passed
@Mingun Mingun deleted the update-compare branch June 22, 2025 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants