No subject
Henry Cejtin
henry@research.nj.nec.com
Thu, 18 Mar 1999 17:00:21 -0500
fast: loop 10^8 times doing one Int.+ and one Int.compare against 0.
slow: same as above but IntInf.+ and IntInf.compare.
fast2: loop 10^8 times doing one Int.+ and one Int.= against 0.
slow2: same as above but IntInf.+ and IntInf.=.
slower: same as above, but instead of [0, 10^8), use [2^32, 2^32 + 10^8).
So here is a comparison of smlc-1998-12-17 with the latest on your machine:
program smlc-1998-12-17 newest
fast 5.03 5.04
slow 11.54 23.19
fast2 2.00 2.03
slow2 8.54 19.15
slower 19.41 17.15
I blame the slowdown (more than a factor of 2) entirely on the right-shift
thing. Could you try turning it back into a >> (for words) just to see if
this is really the case?
Note, the real cases are fast2 vs. slow2. Here we see that in the old
system, IntInf's cost a factor of 4.27 and in the new one they are a factor
of 9.43.