Hello.

> >
> >>>>> [...]
> >>>>>
> >>>>> The idea is to have "interleaved" calls to the candidate
> >>>>> implementations, so
> >>>>> that (hopefully) they will be penalized (or benefit) in the same
> >>>>> way
> >>>>> by what
> >>>>> the JVM is doing (GC or JIT compilation or ...) while the
> >>>>> benchmark
> >>>>> is
> >>>>> running.
> >>>>>
> >>>>> Does this make sense?
> >>>> Could it be merged by the FastMath performance tests Sebb set up ?
> >>> I don't think so. If you meant rewriting the
> >>> "FastMathTestPerformance" tests
> >>> using the proposed utility, I don't think that it is necessary.
> >> This was what I meant.
> >> If this feature is not used in any existing tests, perhaps it should go in
> >> some other directory. Perhaps a new "utilities" or something like that, at 
> >> the
> >> same level as "main" and "test" ?
> >>
> >> Anyway, if you feel it's useful to have this available around, don't 
> >> hesitate.
> >>
> > Well, the first use I had in mind was to provide a agreed on way to base a
> > discussion for requests such as "CM's implementation of foo is not
> > efficient", and avoid wondering how the reporter got his results. [This
> > problem occurs for the MATH-628 issue.]. Then, when the problem reported
> > is confirmed, the new implementation will replace the less efficient one in
> > CM, so that there won't be any alternative implementation left to compare.
> >
> > If you agree with the idea of a "standard" benchmark, it would be very much
> > necessary that several people have a look at the code: It might be that my
> > crude "methodology" is not right, or that there is a bug.
> >
> > If the code is accepted, then we'll decide where to put it. Even if,
> > according to the above, its primary use will not be for long-lived unit
> > tests, it might still be useful in order to compare the efficiency of CM's
> > algorithms such as the various optimizers. These comparisons could be added
> > as performance reports similar to "FastMathTestPerformance".
> 
> +1 to include it.  I would say start by putting it in a top level
> package of its own - say, "benchmark" in src/test/java.  That way we
> can use it in test classes or experimentation that we do using test
> classes to set up benchmarks.

Isn't it "safer" to put it in package "o.a.c.m" (under "src/test/java")?
I was thinking of "PerfTestUtils" for the class name.

> If it evolves into a generically
> useful microbenchmark generator, we can talk about moving it
> src/main.  Thanks for doing this.

I didn't think that this utility would ever move to "main", as it's just for
internal testing.


Regards,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to