[Shootout-list] Directions of various benchmarks

Jon Harrop jon@ffconsultancy.com
Fri, 20 May 2005 01:25:14 +0100


On Thursday 19 May 2005 17:43, Brent Fulgham wrote:
> On the other hand, we have encouraged Jon and others
> to reduce the scope of tests to stay within the 100
> LOC for proposed new test.
>
> I think this has worked fairly well.

I agree entirely. You can actually get a lot done in 100 LOC, even in C++. 
Indeed, most programs written by scientists are not much longer.

> But seriously -- should we require all benchmark
> proposals state the algorithm using some kind of
> formal language?

I think we should not require that all benchmark proposals state the 
algorithm. Instead, we should require that all benchmarks state the problem 
to be solved and, for non-trivial benchmarks, perhaps an algorithm that can 
be used to solve it or an example program. In particular, the benchmark 
should never be able to state a "quick route" to the answer (e.g. for 
checking), or the benchmark is flawed.

In terms of a formal language, a mathematical expression will probably suffice 
in many cases (e.g. implicitode, spectralnorm, nbody) but may be subject to 
problems from finite-precision arithmetic.

For example, the ray tracer should require that the <100 LOC self-contained 
program reproduces the same output image as the original OCaml, C and C++ 
programs. Any data structures and algorithms can be used. For each language, 
the shootout should contain the fastest program <100 LOC or, if there are 
none, the shortest program >100 LOC.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
Objective CAML for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists