Reading Phrogz' post about automatic benchmark iterations, and then
seeing Mauricios' lovely Adaptative Benchmark[1], I came to think we
might need a friendlier syntax for benchmarks all together. Minutes
later, I discovered that someone had almost the same idea as me[2].
Anyway, I'd like to just throw it out here, and hear what you people
think.
The idea is to make benchmarks syntactically similar to the current
Test::Unit test cases, e.g.
class SortBenchmark < Benchmark
def setup
@array = [1, 6, 2, 9, 4, 6, 2]
end
def teardown
@array = nil
end
def report_quicksort
@array.quicksort
end
def report_mergesort
@array.mergesort
end
end
Automatic iteration could be added, either as a class method call or by
creating a different base class (IterativeBenchmark?)
So, what do y'all think? If I'm not the only one liking this, I might
whip something up when I get some spare time...
Cheers,
Daniel
1. http://eigenclass.org/hiki.rb?cmd=view&p=adaptative
+benchmark&key=TDD
2. http://djberg96.livejournal.com/52734.html