]> granicus.if.org Git - libvpx/commit
Improve accuracy of benchmarking
authorelliottk <elliottk@google.com>
Wed, 19 Dec 2018 21:35:30 +0000 (13:35 -0800)
committerelliottk <elliottk@google.com>
Fri, 21 Dec 2018 19:28:37 +0000 (11:28 -0800)
commita81768561ca1de2a947a45f224bf91d3913c1e2a
tree479c90314c6975e77897c49c51e4ac4033945b8e
parentc17d6997cd6babd8dbd805deb1f1d104c9324a36
Improve accuracy of benchmarking

For small code regions, readtsc can give inaccurate results because it does
not account for out-of-order execution. Add x86_tsc_start and x86_tsc_end
that account for this, according to the white paper at

https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-32-ia-64-benchmark-code-execution-paper.pdf

Using x86_tsc_start/end will also add in several more instructions; I imagine
this is negligible.

Change-Id: I54a1c8fa7977c34bf91b422369c96f036c93a08a
vpx_ports/x86.h