Smarty Benchmark, jemand?

8

Ich betrachte Smarty als meine Web-App-Template-Lösung, und ich bin jetzt mit seiner Leistung gegen einfaches PHP besorgt.

Die Smarty-Seite sagt, es sollte das gleiche sein, aber ich konnte niemanden finden, der echtes Benchmarking durchführt, um die Aussage richtig oder falsch zu beweisen.

Hat jemand ein Benchmarking von Smarty vs. plain PHP durchgeführt? Oder vielleicht stoßen Sie bei solchen Tests auf Ressourcen?

Danke

    
gnosis 13.12.2008, 08:15
quelle

10 Antworten

14

Da Smarty die Templates-Dateien am Ende zu nativem PHP-Code kompiliert und zwischenspeichert, gibt es tatsächlich keinen theoretischen Leistungsunterschied. Natürlich wird es immer einen Leistungsverlust geben, weil der Smarty-Code jedes Mal interpretiert werden muss.

    
Javache 13.12.2008, 16:25
quelle
4

Sie können auch eine neue Template-Bibliothek verwenden, die Smarty Dwoo

ähnelt     
ejunker 21.12.2008 06:29
quelle
3

Gerade gefunden dies sehr einfache Benchmark - wahrscheinlich nicht sehr wichtig.

    
Patryk Kordylewski 13.12.2008 10:05
quelle
2

Hier ist eine weitere Templating-Lösung XSLT hier sind meine Benchmarks für eine der Seiten, die ich konvertiert habe (es ist eine einfache Seite):

%Vor%

Es ist nicht für jedermann, aber wenn Leistung ist Ihr Hauptanliegen:)

Darüber hinaus erlauben Sie dem Client, Ihre Vorlage zwischenzuspeichern.

Hier ist ein Beispiel für das, was ich mache (dies ist eine meiner Websites): Ссылка

und hier ist ein weiteres Beispiel dafür auf einer größeren Site: Ссылка

Bisher habe ich noch keine Show Stopper

    
Chad Scira 10.05.2009 04:35
quelle
2

Hier ein Template-Engine-Benchmark, der PHP vs Smarty und viele weitere Template-Engines testet Ссылка

  • Für die Zuordnung Twig ist der schnellere, es kompiliert die HTML-Vorlage zu einem Klassen, so ist es auch schneller in Ausführung mehr als das PHP include! IMHO ist schwer (viele Dateien) und kompliziert, ist aber sehr schnell!

  • Um schneller zu loopen, ist PHP enthalten, und bald darauf gibt es Rain, was sehr einfach ist, klein (1 Datei) und schnell.

RainElemental 16.01.2011 15:59
quelle
1

Smarty generiert PHP-Code für alle seine Vorlagendateien, wenn sie zum ersten Mal verwendet werden, vorausgesetzt, Sie haben es richtig eingerichtet und verwendet sie, wenn möglich, anstatt die Vorlagen erneut zu analysieren.

Ich habe es eine Weile benutzt und es war schnell genug, aber am Ende habe ich es gegen einfache PHP-Dateien ausgetauscht, weil es ein bisschen einschränkend war (zu viele PHP4-Ismen).

    
flussence 13.12.2008 16:31
quelle
1

Smarty selbst ist eher eine große Bibliothek ... Wenn Sie Smarty verwenden, schlage ich vor, dass Sie APC verwenden, um die kompilierte Version zwischenzuspeichern. Es wird die ziemlich große Größe der Smarty-Bibliothek ausgleichen ...

    
DreamWerx 13.12.2008 18:24
quelle
1

Es hängt davon ab, wie Sie Smarty verwenden, da sich der Fluss Ihrer Seiten ändern

kann

Klassischer einfacher PHP-Fluss:

  • Ausgabe
  • Behandle $ _REQUEST-Daten
  • Ausgabe
  • Handle Datenbankabfragen
  • Ausgabe
  • Behandle $ _REQUEST-Daten
  • Ausgabe
  • ...

Klassischer Smarty-Fluss:

  • Behandle alle $ _REQUEST-Daten
  • Behandle alle Datenbankabfragen
  • Alles ausgeben

Wenn einfaches PHP 1.0 sec für diese Seite benötigt, dauert die Smarty Seite auch 1.0 sec. ABER wenn wir annehmen, dass alle Datenbank und $ _request handeling dauert 0,7 Sekunden. Das einfache PHP startet die Ausgabe direkt, während die Smarty-Version nach 0,7 Sekunden beginnt. Daher kann der Browser Stylesheets und Bilder schneller herunterladen. Keine Ausgabe bedeutet auch, dass die Schaltfläche "Stop" keine Wirkung hat.

In Smarty können Sie jedoch Funktionen und Methoden aus der Vorlage aufrufen. Verzögern des langsamen Teils, wo die Daten benötigt werden.

    
Bob Fanger 13.12.2008 20:05
quelle
0

Es gibt einen Ersatz für Smarty namens Template Lite , der in Bezug auf die Größe der Bibliotheksdatei viel leichter ist. Nichtsdestoweniger habe ich das ursprüngliche Smarty in einigen extrem hohen Lastsituationen verwendet, ohne diese Bibliothek austauschen zu müssen.

    
DavidM 13.12.2008 20:36
quelle
0

Aufgrund eigener Erfahrungen und informeller Benchmarks führt Smarty allein nicht zu wesentlichen Leistungseinbußen. Wenn Sie jedoch benutzerdefinierte Plugins schreiben, geht es bergab.

Eine Smarty-Vorlage ist kompiliert & amp; als PHP gespeichert, aber ein benutzerdefiniertes Plugin wird immer zur Laufzeit geladen und ausgeführt und ist immer langsamer als der gleiche Code in einer einfachen alten PHP-Datei auszuführen. Sie werden dies mit einem benutzerdefinierten String-Formatierungs-Plugin nicht allzu sehr bemerken, aber Sie werden es definitiv sehen, wenn Sie Datenbank-Abfragen in einem Plugin machen.

Insgesamt empfehle ich Smarty. Die Darstellung des PHP aus dem Display hat unseren Code deutlich lesbarer und wartbarer gemacht. Sie müssen nur sicherstellen, dass Sie vorsichtig sind, was Sie in Plugins einfügen.

    
abeger 11.02.2009 16:00
quelle

Tags und Links