<div class="gmail_quote">On 21 September 2012 07:17, 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/20/12 10:05 AM, Manu wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Memory locality is often the biggest contributing</div></blockquote><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

performance hazard in many algorithms, and usually the most<br>
unpredictable. I want to know about that in my measurements.<br>
Reproducibility is not important to me as accuracy. And I'd rather be<br>
conservative(/pessimistic) with the error.<br>
</blockquote>
><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What guideline would you apply to estimate 'real-world' time spent when<br>
always working with hyper-optimistic measurements?<br>
</blockquote>
<br></div>
The purpose of std.benchmark is not to estimate real-world time. (That is the purpose of profiling.) Instead, benchmarking measures and provides a good proxy of that time for purposes of optimizing the algorithm. If work is done on improving the minimum time given by the benchmark framework, it is reasonable to expect that performance in-situ will also improve.</blockquote>
<div><br></div><div>Okay, I can buy this distinction in terminology.</div><div>What I'm typically more interested in is profiling. I do occasionally need to do some benchmarking by your definition, so I'll find this useful, but should there then be another module to provide a 'profiling' API? Also worked into this API?</div>
</div>