Effect of Profile-Guided Optimization
I built RecoverSegmentBenchmark with -fprofile-generate, ran it, rebuilt with -fprofile-use, then reran it. This brings about a 5% improvement in time for the benchmark for smaller object sizes and doesn't hurt times for larger object sizes.
object size |
64 |
128 |
256 |
512 |
1024 |
2048 |
8192 |
normal |
1535.88 |
1104.6 |
830.9 |
661.58 |
547.98 |
487.12 |
422.5 |
PGO |
1444.171875 |
1044.609375 |
780.734375 |
626.46875 |
551.875 |
480.515625 |
420.109375 |
% improvement |
5.97% |
5.43% |
6.04% |
5.31% |
-0.71% |
1.36% |
0.57% |