tafia/quick-xml

Profile-Guided Optimization (PGO) results

zamazan4ik opened this issue · 1 comments

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 commented

@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