-
Notifications
You must be signed in to change notification settings - Fork 88
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
performance(stdlib): Switch to much faster ua-parser #1317
base: main
Are you sure you want to change the base?
Conversation
8dc55d5
to
3d0fe2a
Compare
22b3223
to
e1bb570
Compare
Hi @JakubOnderka, how do these creates https://crates.io/crates/ua-parser vs https://crates.io/crates/uaparser compare in terms of maturity? |
I checked code and it looks good for me. ua-parser is part of https://github.com/ua-parser/ group and it also default backend for Pythons ua-parser package that is downloaded 7 milion times every month. |
Thank you @JakubOnderka, can you add a changelog? Then I believe we can merge this. |
Changelog added. |
Summary
ua-parser crate is 55 times faster than uaparser and also allows to avoid dependency on serde_yaml (that reduces compiled binary size by 200 kb).
Benchmark
vrl_stdlib/functions/parse_user_agent/fast:
vrl_stdlib/functions/parse_user_agent/enriched:
Change Type
Is this a breaking change?
How did you test this PR?
cargo test
with more tests added.Does this PR include user facing changes?
our guidelines.
Checklist
run
dd-rust-license-tool write
and commit the changes. More details here.