On 1/3/11 9:02 AM, Jonathan M Davis wrote:
On Monday 03 January 2011 06:43:24 Andrei Alexandrescu wrote:
On 1/3/11 3:38 AM, Vladimir Panteleev wrote:
On Mon, 03 Jan 2011 06:44:50 +0200, Jonathan M Davis

<jmdavisp...@gmx.com>  wrote:
So, please have a look at the code.

Just one thing: wouldn't these functions also be useful in contract
programming (invariants etc.)? Perhaps they should just be added to
std.exception?

In fact (without looking at std.unittest) I think it should be grouped
with a simple benchmark facility. That's what the homonym frameworks in
Google's and Facebook's code base do.

I'm afraid that I don't see what unit test helper functions have to do with
benchmarking.

They both help the decision: "Is this module good to go?" At work we almost always put benchmarks in the same file as the unit tests, and run them together (subject to a --benchmark flag because benchmarks tend to take a fair amount of time). I find that very natural, although I should add that the unittest and benchmark libraries are nominally distinct.

And I don't believe that we have a benchmarking module at the
moment regardless, so if you want to do that, we'd need to create one. The only
benchmarking stuff that I'm aware of is the bencharking stuff in std.datetime 
that
SHOO did, which isn't all that much code. I would have thought that unit test
helper functions would merit their own module, particularly when I don't see
what they have to do with benchmarks.

Adding basic support for benchmarking shouldn't be difficult and does not entail a lot of code, but I understand it if you're not all that motivated to work on that.


Andrei

Reply via email to