You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let's try to apply even more optimizations after enabling LTO ;) I checked Profile-Guided Optimization (PGO) CPU performance improvements on multiple projects (including many databases like PostgreSQL and network proxies like Envoy, HAProxy, Nginx, etc.) - the results are available in the awesome-pgo repo. Since the pgdog project cares about its performance - it could an interesting opportunity to use PGO.
I can suggest the following things to do:
We need to perform PGO benchmarks on pgdog. If it shows improvements - add a note about possible improvements to the documentation. Providing an easier way (e.g. a build option) to build scripts to build pgdog with PGO can be useful for the end-users too.
It will be a good idea to integrate building with PGO into your CI pipelines. In this case, users will get already PGO-optimized binaries from the website (when will they be available for the users, of course).
Here you can find different materials about PGO: many benchmarks for different apps, examples of how PGO is already integrated with various projects, and some PGO-related pieces of advice. For Rust-based applications, I recommend starting with cargo-pgo.
After PGO, I suggest evaluating the Post-Link Optimization (with tools like LLVM BOLT) - it can give more aggressive optimizations even after PGO. However, starting with regular PGO will be easier to do.
Thank you.
The text was updated successfully, but these errors were encountered:
Hi!
Let's try to apply even more optimizations after enabling LTO ;) I checked Profile-Guided Optimization (PGO) CPU performance improvements on multiple projects (including many databases like PostgreSQL and network proxies like Envoy, HAProxy, Nginx, etc.) - the results are available in the awesome-pgo repo. Since the
pgdog
project cares about its performance - it could an interesting opportunity to use PGO.I can suggest the following things to do:
pgdog
. If it shows improvements - add a note about possible improvements to the documentation. Providing an easier way (e.g. a build option) to build scripts to buildpgdog
with PGO can be useful for the end-users too.Here you can find different materials about PGO: many benchmarks for different apps, examples of how PGO is already integrated with various projects, and some PGO-related pieces of advice. For Rust-based applications, I recommend starting with cargo-pgo.
After PGO, I suggest evaluating the Post-Link Optimization (with tools like LLVM BOLT) - it can give more aggressive optimizations even after PGO. However, starting with regular PGO will be easier to do.
Thank you.
The text was updated successfully, but these errors were encountered: