Profile-Guided Optimization (PGO) for databases


I did a lot of benchmarks by applying Profile-Guided Optimization (PGO) to a bunch of software (including a lot of databases like PostgreSQL, MySQL, MongoDB, and many others) - the results are available here: GitHub - zamazan4ik/awesome-pgo: Various materials about Profile Guided Optimization and other similar stuff like AutoFDO, Bolt, etc. . The results are reproducible - you can check it on your own.

I think these results would be interesting for the Percona community since it shows performance improvements for databases “just” with a compiler option. I think these results could be used in multiple ways:

  1. Percona dev team at least can consider applying PGO for the databases before distribution to the customers.
  2. Contribute more flawless PGO support to the upstream.
  3. Advertise somehow using PGO via blog posts/conferences
  4. Apply PGO to the developed by Percona solutions like percona-server

I hope my tests would be helpful to someone.