Auswertung

Das nachfolgende Diagramm zeigt eine Auswertung der Messergebnisse für die C++ Implementierung von Axis. Die Werte der einzelnen Säulen sind die Mittelwerte der zuvor ermittelten Messwerte für 500 Aufrufe.
Abbildung 5.1: C++ Perfomance Diagramm
Image c++_vergleich

Rechnet man die Zeit auf einen Aufruf um, bekommt man als Ergebniss, dass es etwa 0,5ms dauert im Client eine ARM Transaktion zu starten, den Correlator in den SOAP Header zu legen, auf Serverseite den Correlator wieder zu entnehmen und ebenfalls eine neue Transaktion zu starten.

Das folgende Diagramm zeigt die Auswertung für die Java Implementierung der Axis Umgebung. Die Werte der einzelnen Säulen sind die Mittlewerte der zuvor ermittelten Messwerte für 500 Aufrufe. Wie man auf den ersten Blick erkennen kann, ist die C++ Implementierung deutlich schneller.

Abbildung 5.2: Java Performance Diagramm
Image java_vergleich

Rechnet man auch hier die Zeit auf einen Aufruf um, bekommt man als Ergebniss, dass es etwa 6ms dauert im Client eine ARM Transaktion zu starten, den Correlator in den SOAP Header zu legen, auf Serverseite den Correlator wieder zu entnehmen und ebenfalls eine neue Transaktion zu starten.

Die Tatsache das der instrumentierte Teil in Java um ein vielfaches langsamer ist als der C++ Teil, könnte die Vermutung aufkommen lassen, das dieser nicht performant genug implementiert wurde. Allerdings ist die reine Java Implementierung ohne den Einsatz von eigenen Handlern auch schon deutlich langsamer.

Thomas Termin 2005-02-24