Java Performance: Jazelle vs. Just in Time Compiler (Jit) bei Handys
-
Viele Handys haben eine ARM9 CPU.
Aber bei Java Me nutzen einige Handys die ARM9 CPU via JIT direkt
oder die ARM CPU hat eine Jazelle Erweiterung, also ein Java Prozessor.Das interessante dabei ist folgendes:
Diejenigen, die den Jit verwenden sind bei Java Anwendungen schneller,
als diejenigen, die auf die Jazelle Hardwareerweiterung zugreifen.IMO ist das eigentlich seltsam, da man vermuten könnte,
daß der Java Prozessor schneller ist als die Software.
Aber anderseits könnte das daran liegen, daß die ARM9 CPU
das ganze via JIT schneller in Software erledigen kann,
als der Jazelle Prozessor rechnen kann.Mit anderen Worten die ARM9 CPU + Software ist schneller als die Java CPU Jazelle.
Nun fragt man sich aber, warum die Hersteller dann überhaupt Jazelle CPUs verbauen und hier stehe ich vor einem Rätsel,
da viele Handys mit Jazelle CPU eine ARM CPU haben, die den Handys, die keine Jazelle Erweiterung haben in der Rechenkraft ebenbürtig sind.
D.h. man könnte sie auch mit einem JIT Java fähig machen und die Jazelle Erweiterung einfach weglassen.Daher habe ich nun folgende Vermutung.
Könnte es vielleicht sein, daß die Jazelle Hardware Erweiterung bei Java Anwendungen deutlich weniger Strom verbraucht als der JIT der dann auf der
ARM9 CPU in Software läuft?Ist also die Energieersparnis der Grund, warum man auf Jazelle setzt?
Daten zu obigem Thema findet ihr hier:
http://www.jbenchmark.com/phonedetails.jsp?benchmark=sum&D=Samsung SGH-U700VMan vergleiche z.b. ein Nokia 6500 Slide gegenüber einem Samsung J700V.
Die CPUs beider sind etwa gleich schnell.Aber das Sasmung Handy, das nur einen JIT verwendet ist im JBenchmark 1.0 Benchmark mit ca. 4614 Punkten deutlich schneller, als das Nokia Handy das eine Jazelle CPU verwendet.
Lediglich beim JBenchmark 2.0 sieht es etwas besser für die Jazelle aus,
aber das relativiert sich wieder, wenn man das ganze mit anderen Handys
wie dem N95 vergleicht, welches eine um ca. 100 MHz stärkere ARM11 CPU hat.
-
Schieb
-
Es kostet sicher Geld eine JVM zu entwickeln oder zu lizenzieren. Die Benutzung von Jazilla ist da günstiger. Und wie du schon vermutet hast, spielt Stromverbrauch sicher auch eine Rolle.