Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork692
Profile-Guided Optimization (PGO) benchmark report#2385
-
Hi! As I have done many times before, I decided to test the Profile-Guided Optimization (PGO) technique to optimize the This information can be interesting for anyone who wants to achieve more performance with the application in their use cases. Test environment
BenchmarkFor benchmark purposes, I use the proposed in the "Benchmarks" section way - opening the Linux kernel repo. I usethis repo with
For PGO optimization I usecargo-pgo tool. Release binary is built with
ResultsI got the following results:
The results are consistent across runs. At least in this simple benchmark scenario, I see measurable improvement. Maybe it will be useful to know if we aim peak performance for the app. Further stepsAt the very least, the gitui's users can find this performance report and decide to enable PGO for their applications if they care about its performance in their workloads. Maybe a small note somewhere in the documentation (the README file?) will be enough to raise awareness about this work. Another way - try to figure out the root cause of performance differences between PGO and non-PGO gitui versions, and, probably, try to tweak the library sources a bit more - however this way also requires some time to analyze the resulting LLVM IR/assembly differences between them. Also, Post-Link Optimization (PLO) can be tested after PGO. It can be done by applying tools like LLVM BOLT. However, it's a much less mature optimization technique compared to PGO. Thank you. |
BetaWas this translation helpful?Give feedback.