Open zamazan4ik opened 8 months ago
@zamazan4ik Thank you for your suggestion. I truly appreciate your expertise in performance optimization and your recommendation to use Profile-Guided Optimization (PGO).
We will consider this approach and assess the benefits and potential impact on our production environment. I would love to discuss this further with you when we make new progress. Your insights would be invaluable to us.
Thank you again for your invaluable suggestion.
Hi!
Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects - the results are available here. I think since the project is performance-oriented, it would be interesting to try to test PGO for optimizing
tquic
. I already did some benchmarks.Test environment
tquic
version: the latest for now from thedevelop
branch on commit05c56e7425ec1149a9c95ca7bbcb6acbab861fd6
Benchmark setup
For benchmarking purposes, I use the project's benchmarks. Release benchmarking is done with
cargo bench
, PGO optimized build is done with cargo-pgo withcargo pgo bench && cargo pgo optimize bench
. PGO profiles are collected from the benchmark workload itself.Results
I got the following results:
According to the tests, PGO consistently improves
tquic
performance in some scenarios.Further steps
I can suggest the following things to do:
tquic
in more scenarios.tquic
.