![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Hi,
ich würde gerne mit den PEAR-Benchmark-Klassen die Performance einer Template-Engine testen. Mir fehlt nur irgendwie ein Ansatz, wie ich das machen kann. Kann mir da eventuell jemand weiterhelfen und eventuell Vergleichswerte anderer Engines geben? Danke. Grüße, Ben. |
|
|
|
|
|
Nach oben #2 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.793
|
Die Frage ist ja unter anderem, was du für Werte in deinem Benchmark berücksichtigen willst?
Neben Geschwindigkeit ist sicher auch der Speicherverbrauch interessant. Ich weiß nicht was der Vorteil von der Pear Klasse ist, soweit ich die echt magere Doku verstanden habe gibts dort mehr als nur Zeitwerte als Ergebnis zurück. Allerdings scheint es nur möglich zu sein einzelne Aufrufe zu starten und zu messen. Du müsstest also ne Testklasse/Methode schreiben die dein Templatesystem voll ausreizt und dann andere testen. Vergleichswerte werden dir wohl wenig bringen, da du man die Startpunkt für den Benchmarktest sicher nicht ohne weiteres identisch gestalten kann. Sprich du musst selbst mehrere testen
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #3 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Zitat:
Ich muss auch die PEAR-Klasse nicht verwenden, wenn du bessere Vorschläge hast? |
|
|
|
|
|
|
Nach oben #4 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.793
|
bessere Vorschläge... hm ich kann dir nur empfehlen ne Testklasse zu schreiben, die dir ne komplexere Seite mit verschiedenen Templatesystemen ausgibt und dabei mir klassischer Zeit- und Speichermessung arbeiten.
Oder du schreibst die Testklasse ohne irgendeine Zeitmessung und arbeitest alles in einer Methode ab. Dann kannst du mit der PEAR-Klasse ja diese eine Methode benchmarken und bekommst deine Werte. Dürfte aber etwas Zeitaufwendig werden, da du dich ja in jede Templateengine einarbeiten musst und für jede ne eigene Testklasse schreiben musst. Aber so ist das halt mit den TestUnits
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #6 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.793
|
öhm ok
Du baust dir ein Template für deine Templateengine. Dann baust du dir ne Klasse, die z.B. in der Methode testIt() alles was du zum abarbeiten des Templates brauchst enthält. Gefüllt mit vielen Dummydaten etc sollte dann beim Aufruf der Testklasse dein Template verarbeitet und ausgegeben werden. Wenn du das hast, dann baust du eine benchmark.php PHP-Code:
Für jede Engine die du testen willst musst du aber auch ne eigene Unit schreiben.
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #7 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Achso, *ploink* ... stand auf dem Schlauch bzw. habe dich total missverstanden *g*.
Jou, das ist dann aber eine Arbeit für abends oder wenn man mal gerade nichts anderes zu tun hat. jaja, testen und messen hängt doch schon nah beieinander |
|
|
|
|
|
Nach oben #8 | |
|
Erfahrener Benutzer
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 754
|
...wär aber gschickt, zum Messen nicht ein komplettes Test-Framework aufzuziehen. Macht ja auch keinen Sinn, es sei denn, du willst die Funktionalitäten vergleichen (und da bräuchtest du dann eine Testklasse und nicht zwei, da beide Engines die gleichen Tests erfüllen müssten). Aber auch dann sollte das doch in zwei separaten Schritten geschehen und nicht beides gleichzeitig!
Ich würd versuchen, den Overhead so gering wie möglich zu halten. Dazu sowohl Standard-Anordnungen nehmen (wie die Templates für deine Zwecke so im Schnitt aussehen), wie auch Extreme. Und wichtig wäre sicher noch zu unterscheiden zwischen ersten Aufrufen, bei denen Templates ja in aller Regel gecached werden und Folgeaufrufen. Wenn also die eine Template-Engine einen Cache eingebaut hat und die andere nicht, werden beide vielleicht bei nur einem Durchlauf ähnliche Ergebnisse liefern, bei 100 oder 1000 Durchläufen aber sicher gut auseinandergehen. Zum Messen schau dir mal JMeter an. Zitat:
Basti |
|
|
|
|
|
|
Nach oben #9 | |||
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Zitat:
Zitat:
Zitat:
Zum Messen schau dir mal JMeter an.[/quote] Habe ich schonmal was zu gelesen, bin aber nie in die Nähe eines praktischen Austestens gekommen. Mal sehen, ob das noch was wird. |
|||
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Kleine Fragen zur IT[X] Template Engine | ex³ | PEAR, PECL und Frameworks | 0 | 18.07.2006 14:00 |