Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Evaluate using Profile-Guided Optimization (PGO) and LLVM BOLT #3575

Open
zamazan4ik opened this issue Oct 29, 2023 · 1 comment
Open

Evaluate using Profile-Guided Optimization (PGO) and LLVM BOLT #3575

zamazan4ik opened this issue Oct 29, 2023 · 1 comment
Labels
build openmldb compiling and installing enhancement New feature or request

Comments

@zamazan4ik
Copy link

zamazan4ik commented Oct 29, 2023

Hi!

Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (including many databases like PostgreSQL, ClickHouse, Redis, MongoDB, etc.) - the results are available here. So that's why I think it's worth trying to apply PGO to OpenMLDB to improve the database performance further.

I can suggest the following things to do:

  • Evaluate PGO's results on OpenMLDB.
  • If PGO helps to achieve better performance - add a note to OpenMLDB's documentation about that (probably somewhere in the README file). In this case, users and maintainers will be aware of another optimization opportunity for OpenMLDB.
  • Provide PGO integration into the build scripts. It can help users and maintainers easily apply PGO for their own workloads.
  • Optimize prebuilt binaries with PGO.

Here are some examples of how PGO is already integrated into other projects' build scripts:

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO.

@aceforeverd
Copy link
Collaborator

sounds interesting, we may investigate it later.

@aceforeverd aceforeverd added enhancement New feature or request build openmldb compiling and installing labels Oct 31, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
build openmldb compiling and installing enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants