Hi, Kevin,
It's incredible how critical the cache is for Squeak performance.
From comparing Tim and your figures, it looks like the larger
cache of the SA110 nearly doubles Squeak performance at the same clock speed. Of course, some of the increase is from the C code optimization in Tim's VM, but it's hard to imagine that accounting for more than 20-30% of the difference.
For comparison, here are the figures for two Sharp Zaurus PDA's, both with Hitachi SH-3 processors:
~120 MHz: 2941176 bytecodes/sec, 133739 sends/sec ~60 MHz: 1801801 bytecodes/sec, 61584 sends/sec
I can't fire up my Casio E-105 right now, but I think it had performance similar to the faster SH-3 above.
If you manage to get the comiler to do some optimization, let me know how much difference that makes.
We actually have an iPaq and I am looking forward to getting Squeak up on it. You mentioned that you were writing down the steps needed to put Squeak on the iPaq. Let me know when that's available (but no rush; it's the holidays!). If I can get the proper development environment set up, I may try to compile a VM myself. Perhaps there is some level of C optimization that produces correct but faster code.
One question: How much RAM is available for the Squeak object heap? (See the VM statistics available under the "help" menu.)
-- John
Kevin wrote:
I managed to get the image on a read/write segment of memory and I got that benchmark for you...the result of "0 tinyBenchmarks" is: 4667444 bytecodes/sec; 155544 sends/sec
Note that this is on an unoptimized VM (compiling with optimizations has problems on ARM).
Tim Rowledge wrote:
That's not too bad for an unoptimized VM; my 202MHz SA110 Acorn (2 x bigger cache than iPaq SA1100, but much slower main memory bus - hey, it's six years old!) gets 10m & 374k on the same test. I _think_ I got up to about 8m bc/sec on the original Itsy port. On a 276MHz SA110 NetWinder I think it's more like 12m & 600k.