On 9/19/12 3:13 AM, Jacob Carlborg wrote:
On 2012-09-17 23:13, Jens Mueller wrote:

Post all feedback to this thread. Constructive feedback is very much
appreciated.

To conclude in more Andrei like words: Happy destruction!

* Why is "scheduleForBenchmarking" a string? Can't it be a template mixin?

Good point, I'll look into it.

* What's the most appropriate way of just timing a block of code?
Something like this:

auto time = benchmark!({ /* some code */ })(1);

If that's the case then I suggest setting a default value of "1" for the
"n" parameter.

A default value of n would depend on the speed of the function and the granularity of the system's timer. That overload of benchmark is imperfect (rather rigid) but we must keep it for backwards compatibility.

* If I want to format the printed result differently, say in HTML, how
would I do that? Should I use the "benchmark" function and iterate the
BenchmarkResult array?

That is correct. printBenchmarks() does not use any magic - it just looks at that same array.

* BTW why doesn't benchmark return the BenchmarkResult array?

Will look into it.

* Is this module so important to keep it as a top level module? I'm
thinking something like a utility package or a time/date package. How
about std.util.benchmark?

Not sure.



Andrei

Reply via email to