1 Einleitung

1.1 Java-Benchmarks

Der Siegeszug der Programmiersprache Java steht in engem Zusammenhang mit der Möglichkeit mit ihr plattformunabhängige Programme für das Internet zu entwickeln. Diese sind als Applets im Fenster eines World Wide Web-Browsers ausführbar. Mit Applets lassen sich nicht nur Web-Seiten interaktiver gestalten, sondern es ist möglich beliebige Programme auszuführen. In Folge einer richtigen Java-Euphorie sind deshalb auch in Java geschriebene Benchmark-Applets entstanden. Es genügt der Abruf einer URL (Uniform Resource Locator) und schon kann man die Leistungsfähigkeit seines eigenen Systems testen.

1.1.1 Beispiele im WWW

Im Folgenden sind die drei derzeit wichtigsten Java-Benchmarks aufgelistet:

Eine gute Übersicht aller WWW-Ressourcen zum Thema gibt es bei Jonathan Hardwick.

1.1.2 Möglichkeiten und Grenzen

Durch das Sammeln möglichst vieler Ergebnisse versuchen sämtliche Web-Java-Benchmarks eine Vergleichsmöglichkeit verschiedener Rechnerplattformen und Interpreter zu erreichen. Die Testbedingungen sind bei dieser Vorgehensweise natürlich nicht immer klar festgelegt, und deshalb sind die Ergebnisse auch nur eingeschränkt brauchbar. Zumindest läßt sich so aber die Leistung einer JVM einordnen.

1.2 Just in Time-Compiler (JITC)

Um die Maschinenunabhängigkeit eines Java-Programms zu gewährleisten, erzeugt der Compiler ein architekturneutrales Objektdateiformat. Dieser Bytecode wird dann vom Java-Laufzeitsystem ausgeführt (vgl. Kapitel 2). Er wird interpretiert, und dies bedingt, daß die Ausführgeschwindigkeit langsamer ist, als die eines in C geschriebenen, übersetzten und gebundenen Programms.

Ein Versuch diesen Nachteil auszugleichen sind sogenannte Just in Time-Übersetzer (JITC), die den zu interpretierenden Java-Bytecode direkt vor der Ausführung in nativen Code übersetzen und so auch Hardware- oder systembedingte Vorteile nutzen können (vgl. dazu Abschnitt 4.2). Diese Studienarbeit untersucht in Kapitel 3, die so zu erreichende Leistungssteigerung gegenüber der einfachen Interpretation zu ermitteln.

1.3 Laufzeitintensive Anwendungen

Trotz ständiger Veränderungen beruht die Existenzberechtigung vieler Computersysteme darauf, daß sie in der Lage sind, schnelle und genaue numerische Berechnungen zu realisieren. Auch die in dieser Studienarbeit ausgewerteten Benchmarks (vgl. Abschnitt 3.2 gehen deshalb von mathematischen Objekten aus: Matrizen, Polynome und Listen und bewerten die Rechenzeit für verschiedene Routinen, wie Matrixmultiplikation oder Sortieren von Listen.
----------------------------------------------------------------
[home] [TOC] [next] [guestbook] [contact]                 (c) SM