<div class="gmail_quote">On 19 September 2012 01:02, Andrei Alexandrescu <span dir="ltr"><<a href="mailto:SeeWebsiteForEmail@erdani.org" target="_blank">SeeWebsiteForEmail@erdani.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 9/18/12 5:07 PM, "Øivind" wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* For all tests, the best run is selected, but would it not be</blockquote></div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

reasonable in some cases to get the average value? Maybe excluding the<br>
runs that are more than a couple std. deviations away from the mean value..<br>
</blockquote>
<br></div>
After extensive tests with a variety of aggregate functions, I can say firmly that taking the minimum time is by far the best when it comes to assessing the speed of a function.</blockquote><div><br></div><div>The fastest execution time is rarely useful to me, I'm almost always much more interested in the slowest execution time.</div>
<div>In realtime software, the slowest time is often the only important factor, everything must be designed to tolerate this possibility.</div><div>I can also imagine other situations where multiple workloads are competing for time, the average time may be more useful in that case.</div>
<div><br></div><div>Side question:</div><div>Running a test over and over pre-populates the cache with all associated data after the first cycle... The cache needs to be randomised between each cycle to get realistic results.</div>
</div>