Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚡️ zu: Switch from nom to winnow for signature parsing #1090

Merged
merged 6 commits into from
Oct 20, 2024

Conversation

zeenix
Copy link
Contributor

@zeenix zeenix commented Oct 20, 2024

This brings in 2 benefits:

  • The signature parsing code is now up to 30% faster. This directly translates to encoding/decoding speed of variants (used extensively in the D-Bus/gvariant world). This is the path that saw the least optimization in 5.0.0.

  • Removal of nom and minimal-lexical deps (recently introduced in 5.0.0). Apparently winnow was already our indirect dependency so no new deps needed.

@zeenix zeenix changed the title zu: Switch from nom to winnow for signature parsing ⚡️ zu: Switch from nom to winnow for signature parsing Oct 20, 2024
@zeenix zeenix enabled auto-merge October 20, 2024 21:40
We already depend on it indirectly so it's not exactly a new dependency
and it will help us optimize signature parsing and remove the `nom`
dependency in a following commit.
This brings in 2 benefits:

* The signature parsing code is now up to 30% faster. This directly
  translates to encoding/decoding speed of variants (used extensively in
  the D-Bus/gvariant world). This is the path that saw the least
  optimization in 5.0.0.

* We'll now be able to remove `nom` and `minimal-lexical` deps (recently
  introduced in 5.0.0) in a following commit. Apparently `winnow` was
  already our indirect dependency so no new deps needed.
@zeenix zeenix merged commit c36d30f into dbus2:main Oct 20, 2024
7 checks passed
@zeenix zeenix deleted the port-to-winnow branch October 20, 2024 22:01
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.

1 participant