Review of Andrei's std.benchmark
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Thu Sep 20 21:30:53 PDT 2012
On 9/20/12 3:01 PM, foobar wrote:
> On Thursday, 20 September 2012 at 12:35:15 UTC, Andrei Alexandrescu wrote:
>> Let's use the minimum. It is understood it's not what you'll see in
>> production, but it is an excellent proxy for indicative and
>> reproducible performance numbers.
>>
>>
>> Andrei
>
> From the responses on the thread clearly there isn't a "best way".
I don't quite agree. This is a domain in which intuition is having a
hard time, and at least some of the responses come from an intuitive
standpoint, as opposed from hard data.
For example, there's this opinion that taking the min, max, and average
is the "fair" thing to do and the most informative. However, all noise
in measuring timing is additive. Unless you talk about performance of
entire large systems with networking, I/O, and the such, algorithms
running in memory are inevitably spending time doing work, to which
various sources of noise (system interrupts, clock quantization,
benchmarking framework) just _add_ some time. Clearly these components
do affect the visible duration of the algorithm, but if you want to
improve it you need to remove the noise.
> There are different use-cases with different tradeoffs so why not allow
> the user to choose the policy best suited for their use-case?
> I'd suggest to provide a few reasonable common choices to choose from,
> as well as a way to provide a user defined calculation (function
> pointer/delegate?)
Reasonable choices are great, but in this case it's a bit difficult to
figure what's reasonable.
Andrei
More information about the Digitalmars-d
mailing list