Portal > Foren > PHP > PEAR, PECL und Frameworks > PEAR-Benchmark nutzen um Performance einer Template-Engine zu messen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 23.02.2007, 10:30 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard PEAR-Benchmark nutzen um Performance einer Template-Engine zu messen

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.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.02.2007, 14:05 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

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
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 10:55 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von WarrenFaith Beitrag anzeigen
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.
Joa, habe ich mir nicht wirklich Gedanken drum gemacht. Ich will einfach wissen, wie ich an so etwas am besten heran gehe.

Ich muss auch die PEAR-Klasse nicht verwenden, wenn du bessere Vorschläge hast?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 11:08 Nach oben    #4
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

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
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 11:12 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Klingt ja theoretisch ganz nett, helfen tut mir das jetzt aber wenig.
Ich weiß jetzt nicht wirklich, was ich machen soll ..
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 11:37 Nach oben    #6
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

ö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:
<?php
  
require_once 'Benchmark/Iterate.php';

  
$benchmark = new Benchmark_Iterate;

  
$meineTestUnit = new Test();

  
$benchmark->run(100'meineTestUnit->testIt''test');
  
$result $benchmark->get();

  echo 
"<pre>";
  
print_r($result);
  echo 
"</pre>";
?>
Das sollte es dann gewesen sein.
Für jede Engine die du testen willst musst du aber auch ne eigene Unit schreiben.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 11:44 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

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 .
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 14:57 Nach oben    #8
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

...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:
Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.
http://jakarta.apache.org/jmeter/

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 15:02 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von Basti Beitrag anzeigen
...wär aber gschickt, zum Messen nicht ein komplettes Test-Framework aufzuziehen.
Jau, das hatte ich nun auch nicht vor.

Zitat:
Zitat von Basti Beitrag anzeigen
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.
Das mit dem Overhead beziehst du nun auf den Performancetest, oder?

Zitat:
Zitat von Basti Beitrag anzeigen
Und wichtig wäre sicher noch zu unterscheiden zwischen ersten Aufrufen, bei denen Templates ja in aller Regel gecached werden und Folgeaufrufen.
Stimmt, das hätte ich jetzt übersehen. Danke.

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.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2007, 22:16 Nach oben    #10
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Zitat:
Zitat von Basti Beitrag anzeigen
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.
Das mit dem Overhead beziehst du nun auf den Performancetest, oder?
Ja klar. Eben, weil oben was von UnitTests geschrieben wurde - was ja hiermit überhaupt nichts zu tun hat und die "Messanordnung" nur unsinnig aufblähen würde.

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45