[v3][PATCH] Framework for performance benchmarking of functions

Siddhesh Poyarekar siddhesh@redhat.com
Thu Feb 21 05:22:00 GMT 2013


On Wed, Feb 20, 2013 at 05:21:09PM -0800, Richard Henderson wrote:
> The 1e9 constant needs to be cast to int64_t, lest this expression
> simply overflow on 32-bit hosts.

Right, thanks for catching that.

> There are quite a few hosts for which the resolution of this clock
> isn't good enough to make measuring in the inside loop work.  Can we
> have a look at what clock_getres returns and perhaps measure the
> outside loop?  At least then we'll get *some* sort of answer...
> 
> E.g. ARM Cortex A9 can only measure at 1kHz, but Cortex A15-mp can
> measure at the cpu frequency (1.6GHz, reported by getres as 1ns).

OK, I'll do per-call measurements only for cpus that report resolution
as 1ns since anyhting worse and the faster math functions won't get
meaningful benchmarks.

I wonder if it makes sense to calibrate the benchmarks based on an
estimate of how long a clock_gettime takes, perhaps by doing
consecutive clock_gettime calls (multiple times) and seeing results.

Thanks,
Siddhesh



More information about the Libc-alpha mailing list