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%