[squeak-dev] Float oddities

Bob Arning arning315 at comcast.net
Fri Sep 27 18:12:22 UTC 2013


Following up Herbert's question, I wrote:

compareTiming: a to: b
"
---interpreter vm (5.7.4.1) ---------
Float compareTiming: 1 to: 1.0 ==> 719
Float compareTiming: 1.0 to: 1.0 ==> 991
Float compareTiming: 1 to: 1 ==> 312
Float compareTiming: 1.0 to: 1 ==> 686
---cog vm (2749)---------
*Float compareTiming: 1 to: 1.0  ==> 28162*
Float compareTiming: 1.0 to: 1.0  ==> 148
Float compareTiming: 1 to: 1  ==> 97
Float compareTiming: 1.0 to: 1  ==> 179
"

^[1000000 timesRepeat: [
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
     a < b.
]] timeToRun

So, some obvious questions:
- in the interpreter vm, why is comparing two floats slower that an 
integer and a float?
- what's up with Cog? Three tests are faster by the expected ratio and 
one took a real dive.

Also, the profiler Herbert used could use some attention to the NewFloat 
printing:

99.9 (898,069)  Multiline1  doOneStep:
*77.30000000000001* (694,902)  Multiline1 [HkTestLine] doTests:
       73.8 (663,438)  HkRunin [HkTestStation]  canStartNextTest:

Cheers,
Bob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130927/9c77736e/attachment.htm


More information about the Squeak-dev mailing list