Ted Wright wright@en.com is widely believed to have written:
0 tinyBenchmarks = '118,408,880 bytecodes/sec; 3,085,422 sends/sec'
...
0 tinyBenchmarks. '102,236,421 bytecodes/sec; 2994,238 sends/sec'
Tim Rowledge tim@sumeru.stanford.edu responded...
All meaningless. Run some real benchmarks, or failing that (since I've never seen any 'real' benchmarks worth a cent) at least try the Green book benchmarks. A copy (that ran ok last time I bothered) can be found at http://sumeru.stanford.edu/tim/pooters/SqFiles/deltas/sqBenchmarks.cs
I disagree that they are meaningless, but you're right that they don't tell the whole story. Your suggested benchmarks are certainly useful, and I've also just added a suite of 7 macro benchmarks in the latest spate of updates. Take a look at SystemDictionary>>macroBenchmarks.
Interestingly, a great macro benchmark that leverages off the old standard is...
ContextPart runSimulated: [0 tinyBencmarks].
It's a trivially simple meta version of tinyBenchmarks, but it shows that, while J3 shows a 3x and 6x improvement in bytecode speed and send speed, its overall gain is currently typically closer to 2x.
- Dan
(...another fun one is to run tinyBenchmarks in the InterpreterSimulator ;-)
squeak-dev@lists.squeakfoundation.org