02.06.2013 Aufrufe

Download - IT-Designers GmbH

Download - IT-Designers GmbH

Download - IT-Designers GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Diese Events sind:<br />

S TEINBEIS-TRANSFERZENTRUM<br />

- 5. Stylesheets -<br />

• Style-Event: startet beim Aufruf von Style Elementen.<br />

• Write-Event: startet beim Generieren von Resultattext.<br />

• Select-Event: tritt ein bei der Auswahl von Nodesets.<br />

• Run- und Processing-Events: zur Kapselung von Transformationsabläufen.<br />

Die Auswertungskomponente in CatchXSL analysiert die Zeitstempel dieser Events<br />

und berechnet daraus die Laufzeiten der einzelnen Anweisungen. Desweiteren<br />

werden Zeiten für die Toplevel Elemente des Stylesheets ausgegeben, etwa für<br />

Variablendeklarationen am Anfang einer XSL Datei. Die so gewonnenen Ergebnisse<br />

lassen sich als XML oder HTML Datei ausgeben und weiterverarbeiten.<br />

Durch die, mit Hilfe des Profilers, erhaltenen Informationen lassen sich gezielt<br />

Anweisungen mit hoher Laufzeit auffinden und optimieren. Diese Optimierungen sind<br />

allerdings von Prozessor zu Prozessor verschieden und lassen sich nicht<br />

verallgemeinern. So bewirken Veränderungen am XSLT Stylesheet bei einem<br />

Prozessor eine Leistungssteigerung um ein Vielfaches, während die selbe Änderung<br />

dem anderen Prozessor eher schadet.<br />

Dies lässt sich am Besten mit Hilfe eines Beispiels aus dem iX Magazin 08/2002<br />

[Hub02] verdeutlichen:<br />

Erste Definition:<br />

<br />

<br />

... Gesamtanzahl <br />

<br />

Zweite Definition:<br />

<br />

<br />

<br />

... Gesamtanzahl <br />

<br />

Beide Definitionen liefern identische Ausgabeergebnisse. Der einzige Unterschied<br />

innerhalb der beiden gezeigten Listings besteht darin, dass in der ersten Definition<br />

die Anzahl der Knoten bei jedem Schleifendurchgang neu berechnet werden muss.<br />

Diese Summe wird in der zweiten Definition schon vor der Schleife berechnet und in<br />

einer separaten Variablen gehalten.<br />

In [Brand04] wurde gezeigt, dass die Unterschiede in der Verarbeitung beider<br />

Versionen sehr groß sein können. Die Ursache dafür liegt in der internen Abarbeitung<br />

der einzelnen Anweisungen. Die Ergebnisse zeigten aber auch sehr deutlich, dass<br />

man für jeden verwendeten Prozessor anders optimieren oder entwickeln muss.<br />

Wenn auch die Unterschiede bei einzelnen Transformationen nur gering sind, so<br />

S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />

- 63 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!