Do you actually have persistent bench results? That sounds interesting. Please, do tell.
I"m curious how you would be able to keep a consistent baseline with improving hardware and VM's and even image performance improvements.
On Sun, Aug 31, 2014 at 7:30 PM, Ben Coman btc@openinworld.com wrote:
Chris Muller wrote:
0 tinyBenchmarks '1,708,090,075 bytecodes/sec; 199,734,789 sends/sec'
Nice.
[] bench '131,000,000 per second.'
Hmm, this mostly measures the millisecondClockValue primitive.
How about we replace this
count := 0. endTime := Time millisecondClockValue + 5000. startTime := Time millisecondClockValue. [ Time millisecondClockValue > endTime ] whileFalse: [ self value.
count := count + 1 ]. endTime := Time millisecondClockValue.
with
count := 0. repeat := true. [(Delay forSeconds: 5) wait. repeat := false] forkAt: Processor
activePriority + 1. startTime := Time millisecondClockValue. [ self value. count := count + 1. repeat ] whileTrue. endTime := Time millisecondClockValue.
which on my machine makes it go from
'70,800,000 per second.'
to
'168,000,000 per second.'
Wow, I didn't realize millisecondClockValue had that much of an impact! Yours is defiintely less-intrusive, we should update #bench..
Would you leave #bench as it is to avoid invalidating comparisons with previous results, and add some kind of #bench2 ? cheers -ben