Fletcher
50-Minute Talk
Having spent many months in confusion over trying to profile Postgres, and helping other in similarly situations, I now know some of the things that can horribly wrong when profiling and benchmarking.
In this talk, I will go through some of the more common and confusing things, so you don't have to develop all the same scars. Questions we'll explore include:
-
How can a substantial optimization lead to benchmarks running substantially slower?
-
Why can the order in which benchmarks are run matter?
-
Why will a recently compiled binary often be slower than an older one?
-
How can the weather influence benchmark results?
-
Why is it harder to profile virtual machines?
-
Why can a change that increased the percentage of missed branches improve performance?
-
Can your SSD suffer from temporary exhaustion?
For each of the problems I'll present a way to at least work around the problem.

