Template:Coordinate/Test/Performance

Template:Dokumentation/Testseite Testfälle für die Performance von Coordinate; und eventueller Verbesserungen.

Beim Testen der Abrufzeiten fällt auf, dass die Messwerte jeweils zwischen zwei verschiedenen Bereichen hin und her springen, zum Beispiel liegt ein Teil der Werte bei 9,4 +/- 0,3 Sekunden, und der Rest bei 12,5 +/- 0,2 Sekunden. Anscheined gibt es zwei verschieden schnelle Gruppen von Servern, und man landet zufällig auf der einen oder dem anderen (und zwar häufiger auf der schnelleren, die hat wohr mehr Server).

Um das statistisch auszugleichen, wären sehr umfangreiche, aufwändige Messreihen nötig. Stattdessen wurden ab Messreihe 2 einfach nur noch die Zeiten des jeweils schnelleren Servers berücksichtigt. Dadurch ergeben sich recht gering gestreute und sehr gut vergleichbare Ergebnisse.


Messreihe 3

edita

Genauigkeit der Abrufzeit-Differenzen bei +/- 1-2%

text=Lage Template:Coordinate/Test/Neu [1] Template:Coordinate [2]
Datum    Abrufzeit[1]    max. Koordinaten[2] Preproc. node count[3] Abrufzeit[1] max. Koordinaten[2] Preproc. node count[3]
29. Juli 2011, 17:30[4] 7,5   -27%   487   -21%   44.678 10,3   615   62.878
18. Juli 2011, 20:30[4][5] 8,4   -17%   484   -21%   49.878 10,1   615   62.878
17. Juli 2011, 0:00[4][5] 8,2   -14%   482   -22%   49.078 9,5   615   62.878
16. Juli 2011, 6:45[4][5] 7,9   -16%   491   -20%   46.878 9,4   615   62.878
text=DMS Template:Coordinate/Test/Neu [3] Template:Coordinate [4]
Datum    Abrufzeit[1]    max. Koordinaten[2] Preproc. node count[3] Abrufzeit[1] max. Koordinaten[2] Preproc. node count[3]
17. Juli 2011, 4:20[5] 8,7   -30%   377   -12%   53.678 12,5   429   81.678
  1. 1,0 1,1 1,2 1,3 in Sekunden pro 100 Koordinaten, Mittelwert des schnelleren Servers (s.o.) von 15 abwechselnden Messungen mit purge; Messung mit timeit wget unter Windows, komplette Übertragung von HTTP-Request und Antwortdaten mit 2 MBit DSL
  2. 2,0 2,1 2,2 2,3 2048000 / Post-expand include size * 100, abgerundet
  3. 3,0 3,1 3,2 3,3 bei 100 Koordinaten + etwas Overhead für die Testseite
  4. 4,0 4,1 4,2 4,3 gegenüber der alten Vorlage gibt es eine zusätzliche Tooltip-Koordinatenanzeige, die etwas Performance und Speicherplatz kostet
  5. 5,0 5,1 5,2 5,3 ständig eingebundene Template:Vorlage verschlechtert die Messwerte der neuen Vorlage

Messreihe 2

edita
Testfall Abrufzeiten, 16. Juli 6:45-7:00 [1][2] Preprocessor node count Post-expand include size Template argument size
Bytes T.M.C.[3]
Template:Coordinate/Test/100coord/Coordinate (original mit text=Lage) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateDMS (original mit text= DMS) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/Lage (Template:Lage) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateFull (Benutzer:PM3/Coordinate mit simple=n) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateSimple (Benutzer:PM3/Coordinate mit simple=y) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateNeu (Template:Coordinate/Test/Neu mit text=Lage) Template:Nts Template:Nts Template:Nts Template:Nts Template:Nts
die einzelnen Messwerte
Coordinate "Lage" Coordinate DMS Lage PM3/Coordinate simple=n PM3/Coordinate simple=y CoordnateNeu "Lage"
9,3 16,7 1,9 13,2 4,1 7,8
9,3 16,8 1,9 13,3 2,3 7,5
9,8 12,6 2,0 9,9 2,3 7,7
9,4 12,3 1,9 10,2 2,3 9,7
9,2 12,4 2,3 9,9 2,3 10,0
9,3 12,9 2,3 13,3 2,3 7,8
9,3 16,6 1,9 13,2 2,3 7,8
9,9 16,7 1,9 10,1 2,3 7,5
12,3 12,4 1,9 13,2 2,9 7,6
12,5 13,1 2,4 9,9 2,8 10,0
  1. in Sekunden pro 100 Koordinaten, Mittelwert des schnelleren Servers (s.o.) von 10 abwechselnden Messungen mit purge
  2. Messung mit timeit wget unter Windows, komplette Übertragung von HTTP-Request und Antwortdaten mit 2 MBit DSL
  3. Theoretische maximale Koordinatenzahl pro Artikel, wenn der Artikel sonst keine Vorlagen enthalten würde

Messreihe 1

edita

Die Template:Lage und die Benutzer:PM3/Coordinate enthielten hier noch Prüfcode für den region-Parameter, die Template:Coordinate nicht. Dadurch sind die Messwerte nur eingeschränkt vergleichbar.

Testfall Antwortzeiten, 14. Juli ~22:00 [1][2] Preprocessor node count Post-expand include size Template argument size
Template:Coordinate/Test/100coord/Coordinate (original mit text=Lage)[3] Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateDMS (original mit text= DMS)[3] Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/Lage (Template:Lage)[4] Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateFull (Benutzer:PM3/Coordinate mit simple=n)[3] Template:Nts Template:Nts Template:Nts Template:Nts
Template:Coordinate/Test/100coord/CoordinateSimple (Benutzer:PM3/Coordinate mit simple=y)[4] Template:Nts Template:Nts Template:Nts Template:Nts
  1. in Sekunden pro 100 Koordinaten, Mittelwert über 5 Messungen mit purge
  2. Messung mit YSlow im FF 5.0 unter Windows, von send request bis Load Event.
  3. 3,0 3,1 3,2 ohne region-Prüfung
  4. 4,0 4,1 inklusive region-Prüfung

timeit / wget

edita

Verwendete Batchdatei zum Messen der Vorlagenperformance; Windows XP; timeit aus dem Windows Resource Kit von Microsoft, wget von hier.

timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/Coordinate" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/CoordinateDMS" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/Lage" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/CoordinateFull" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/CoordinateSimple" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Template:Coordinate/Test/100coord/CoordinateNeu" --post-data action=purge -O NUL -q

Kategorie:Template:nur Test