Java processors, whether virtual or in hardware, vary greatly in
their performance capabilities. Many embedded applications, such
as controlling an appliance, do not require tremendous speed. On
the other hand, some applications, such as creating detailed animations
on a PDA screen, do require high performance.
There is no universally accepted set of benchmarks of Java processing
performance. One popular measure of Java processing speed, however,
is the CaffeineMark developed by Pendragon Software (ef. Pendragon)
in the mid-1990s. It consists of a suite of tests such as a prime
number search, recursive method invocations, drawing images, and
so forth. Another measure is the VolanoMark, developed by Jeff Neffenger,
that focuses on sever performance (Ref. Volano).
Benchmarks are what they are and you can always find some to enhance
the features you want to stress. In general, it is best to focus
on the particular platform and the features desired and compare
only the systems that could fulfill those requirements. There is
no point in comparing, say, a program running on the Javelin
Stamp with a program running in a JVM on a desktop with the
latest Pentium. The more advanced chips can perform at higher speeds
and offer floating point but many still do not offer extreme performance.
For example, in a series of tests involving tasks such as sorting
and pattern recognition tasks, a 1.6GHZ Pentium gave roughly 100
times faster performance than an aJile evaluation board with the
aJ-100 chip (Ref. Sikter).
More of an oranges versus oranges comparison is given by the following
table.
The table shows a comparison of speeds for several types of operations
for the SNAP board from Imsys, which uses a hardware Java processor,
and another TINI compatible board that uses a JVM running in a conventional
microcontroller. For these tests, the hardware approach provides
one to two orders of magnitude faster speed.
References & Web Resources
Latest update: Dec. 15, 2004
|