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

Profile-Guided Optimization (PGO) results #632

Open
zamazan4ik opened this issue Aug 15, 2023 · 1 comment
Open

Profile-Guided Optimization (PGO) results #632

zamazan4ik opened this issue Aug 15, 2023 · 1 comment
Labels
documentation Issues about improvements or bugs in documentation help wanted

Comments

@zamazan4ik
Copy link

zamazan4ik commented Aug 15, 2023

Writing this for the history. Maybe these results will be interesting to someone who trying to achieve better performance with quick-xml.

I test Profile-Guided Optimization (PGO) on different kinds of software - the current results are here(with a lot of other PGO-related information). That's why I tried to optimize quick-xml with PGO too.

Test setup

My test setup is:

  • Macbook M1 Pro
  • macOS Ventura 13.4
  • Rustc version: rustc 1.71.1 (eb26296b5 2023-08-03)
  • quick-xml version: 1be35e1 commit from the master branch

Benchmarks

As a benchmark, I used built-in into the quick-xml crate benchmarks. For PGO optimization I use cargo-pgo.

Results

So as you see, for some workloads the performance has improved, for others - regressed. So you can estimate PGO benefits for your scenarios.

@Mingun
Copy link
Collaborator

Mingun commented Sep 15, 2023

@zamazan4ik , feel free to add a note to documentation that users that needs incredible performance in their applications could consider enabling PGO with links to your investigations

@Mingun Mingun added help wanted documentation Issues about improvements or bugs in documentation labels Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Issues about improvements or bugs in documentation help wanted
Projects
None yet
Development

No branches or pull requests

2 participants