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

Evaluate using Profile-Guided Optimization (PGO) #558

Open
zamazan4ik opened this issue Sep 13, 2024 · 0 comments
Open

Evaluate using Profile-Guided Optimization (PGO) #558

zamazan4ik opened this issue Sep 13, 2024 · 0 comments

Comments

@zamazan4ik
Copy link

Is your feature request related to a problem? Please describe.
Not a problem. More like a performance improvement idea for the project

Describe the solution you'd like
Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (databases, compilers, log solutions, etc.) - the results are available here. I think such optimization can be useful for Kaspanet too for improving its performance and CPU efficiency.

We need to evaluate PGO's applicability to the project. If it helps to achieve better performance - add a note to the documentation about that. In this case, users and maintainers will be aware of another optimization opportunity for Kaspa. Also, PGO integration into the build scripts can help users and maintainers easily apply PGO to their workloads. Even distributed by Kaspa binaries can be pre-optimized with PGO on a generic-enough sample workload (e.g. rustc already does it).

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

For the Rust projects, I recommend starting with cargo-pgo - it makes PGO optimization easier in many cases.

Describe alternatives you've considered
Leave the things as is :)

Additional context
N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant