Comparison attempt between Palm devices equipped with a DragonBall processor and those equipped with an ARM processor.
The environment
Palm OS 5 brings a major change with regard to the previous versions of Palm OS, that is to say it works on devices equipped with ARM processsors when the previous versions worked on devices equipped with DragonBall processors. This change of processor means a different set of machine instructions thus an impossibility to put on the applications developed for devices equipped with a DragonBall processor. To protect the immediate compatibility of (almost) all the previously developed applications, without rewriting or recompiling, Palm equipped Palm OS 5 with an emulation of the "68k" instructions set of the DragonBall so called "PACE".
My study
To try to compare the earning of performance brought by the new architecture, I measured the execution speed of 2 programs in PACE mode and in native ARM mode on a Palm Tungsten C (ARM processor at 400 MHz), measures which I then compared to those obtained on a Palm Vx (DragonBall processor at 20 MHz) in 68k native mode.
These 2 programs are
Bench1 and
Bench2, which were written (source code to be found here:
pgmpp.zip) and compiled in Pascal
PP, because this development tool can compile programs in 68k and in ARM.
The results
Analysis attempt
400 Mhz versus 20 Mhz means that the quartz of the ARM processor pulses 20 times when the DragonBall pulses once, which does not mean that the ARM executes 20 instructions at the same time that the DragonBall does 1. Indeed, the architectures of these processors and their respective sets of instructions cannot be compared at all.
In PACE mode, they seem comparable, if we dare doing this comparison, because the factor of about x13 (average of x9 and x17) is rather close to the x20 factor which exists between the 2 processors. This means that PACE accelerates the execution of a factor corresponding to the increase of the processor frequency.
On the other hand, in ARM mode, it goes very fast, we should even say extremely fast with a factor of about x161 (average of x158 and x164), indeed far from the x20 factor which exists between the 2 processors! This lets us believe that the programs compiled in ARM are executed sharply more quickly than the same programs compiled in 68k DragonBall and this by returning these 2 processors to equivalent frequencies of functioning.
Moreover, we find the same type of conclusion with the
Speedy benchmark tool which gives, for ARM devices, very good performances for the Mem and Graph Tests which massively call Palm APIs (optimized for ARM) when the Calc Test makes calculations in PACE mode, with a report of execution time ranging from 1 to 2 between these two types of tests.
Conclusion: Pull of this small study the conclusion that you will want! For my part, I content with thinking that comparing the performances of devices running Palm OS equipped with a DragonBall processor with those equipped with an ARM processor is like comparing apples and oranges...