[squeak-dev] The Trunk: Kernel-nice.491.mcz

Chris Muller asqueaker at gmail.com
Fri Sep 10 14:52:12 UTC 2010


Hi, I've been meaning to update this for a while too.  A comment and a question.

Re: displaying only 3 digits, isn't roundTo: 0.001 supposed to accomplish this?

Also, I am thinking that #bench should display the total time it took
to run the block if the block could only be run once in the
five-second limit.

IOW, how sensible is it for it to display:   '0.877 per second.'  ??

Probably, instead, it should just say, "4.123 seconds." shouldn't it?

(Again, this is only in the case where it could not run more than once
in 5 seconds).

 - Chris


On Fri, Sep 10, 2010 at 7:34 AM,  <commits at source.squeak.org> wrote:
> Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-nice.491.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-nice.491
> Author: nice
> Time: 10 September 2010, 2:33:29.294 pm
> UUID: 00d7b4ff-5219-aa44-b82d-be4c7f18c761
> Ancestors: Kernel-ar.490
>
> Prevent bench to display 14 digits or so.
> 3 significative digits should be enough for a human brain (at least mine).
>
> =============== Diff against Kernel-ar.490 ===============
>
> Item was changed:
>  ----- Method: BlockClosure>>bench (in category 'evaluating') -----
>  bench
>        "See how many times I can value in 5 seconds.  I'll answer a meaningful description."
>
> +       | startTime endTime count roundTo3Digits |
> +       roundTo3Digits := [:num | num roundTo: (10 raisedTo: (num numberOfDigitsInBase: 10) - 3)].
> -       | startTime endTime count |
>        count := 0.
>        endTime := Time millisecondClockValue + 5000.
>        startTime := Time millisecondClockValue.
>        [ Time millisecondClockValue > endTime ] whileFalse: [ self value.  count := count + 1 ].
>        endTime := Time millisecondClockValue.
>        ^count = 1
> +               ifTrue: [ (roundTo3Digits value: (endTime - startTime) // 1000) printString, ' seconds.' ]
> -               ifTrue: [ ((endTime - startTime) // 1000) printString, ' seconds.' ]
>                ifFalse:
> +                       [ ((roundTo3Digits value: (count * 1000 * 100) // (endTime - startTime)) / 100.0) printString, ' per second.' ]!
> -                       [ ((count * 1000) / (endTime - startTime)) asFloat printString, ' per second.' ]!
>
>
>



More information about the Squeak-dev mailing list