Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
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 -