-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/02/16 00:56, Dominique Pell? wrote:
> I'm curious about the outcome on SQLite benchmarks.

About a year ago I tried them out on some tight code (non-SQLite) that
absolutely had to use less CPU time.  I couldn't get them to make any
difference outside the bounds of measurement error.  Since SQLite has
lots of "tight code" places, the instrumentation would have to help in
most of them to make a difference (Amdahl's law).

Taking a step back, the reasons why it had no measureable effect are
simple.  The processors are getting better at branch prediction,
better at mitigating mispredicted branches, getting even faster
compared to memory.  The compilers are getting better all the time too
at the same kind of things.

It takes a more pervasive effort (in the general case) to see
performance improvements, which is what PGO does.  Note that while it
provides branch information, it also provides far more useful
information about what gets called and how much so that the entire
binary can be re-arranged, such as putting hot functions in the same
pages reducing cache pressure which will have a more measureable effect.

Roger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAla4DB4ACgkQmOOfHg372QRzyQCg05Z2zyOjqJ58q0jx367wQhqo
+SAAn1AeeydFIdwvJRwh1P+MrSEX1Pkd
=4nwe
-----END PGP SIGNATURE-----

Reply via email to