2016-10-19 4 views
0

Ich habe eine Anforderung, Nachricht von der vordefinierten Vorlage vorzubereiten, System, das wir bauen werden 100 Nachrichten in einer Sekunde vorbereiten. Also habe ich ein Programm geschrieben haben 1000 Meldungen nacheinander mit mehreren Template Framework auf dem Markt zu bauen, das sindTemplate Framework Benchmark

-String template 
    -Mustache template 
    -Thymeleaf template 
    -Rythm template 
    -Pebble template 
    -handler template 

Vorlage, die ich für diesen Leistungstest verwendet enthält eine gewisse Logik mit mehreren if/else, für und Substitutions-Angaben .

Um 1000 Nachrichten sequenziell vorzubereiten. Endergebnis davon sind unter

String template - 40 seconds 
    Mustache template - 2 seconds 
    Thymeleaf template - 15 seconds 
    Rythm template - 2 seconds 
    Pebble template - 4 seconds 
    Handler template - 7 seconds 

In diesen ich glaube, Rythm Vorlage geschlagen alle anderen Template-Framework.

Lassen Sie mich Ihre Gedanken auf Rythm Vorlage wissen. Gibt es einen Nachteil bei der Verwendung?

+0

Wenn Sie in schnell Vorlagen Expansion interessiert sind, werfen Sie einen Blick in Arco : Es basiert auf JSPs und kompiliert die Vorlagen in Java zur Kompilierzeit. http://arco.samajurun.com/arco-maven-plugin/faq.html –

Antwort

0

Ein Nachteil, den ich gesehen habe, ist, wenn es irgendeine kundengebundene/userdefined Funktion gibt, die in mehrfacher Schablone benutzt werden kann, dann müssen wir die gleiche Funktion in allen Schablonen schreiben. Ist das mein Verständnis richtig?

+1

Überhaupt nicht. Rythm bietet die flexibelste Möglichkeit zur Wiederverwendung Ihres Codes. Sie können a) eine andere Vorlage erstellen und sie aus einer beliebigen Vorlage aufrufen (selbst include selbst, die ein rekursives Muster ist) mit beliebigen Argumenten; b) Erstellen Sie eine öffentliche Java-Methode und rufen Sie sie in beliebigen Vorlagen auf. Weitere Informationen zur Wiederverwendung von Code finden Sie unter http://rythmengine.org/doc/template_guide.md#reuse-methods-summary. –

1

Hey Autor von Rythm hier. Danke, dass Sie Rythm in Ihre Benchmarkliste aufgenommen haben.

Mein über Rythm verstehen:

Die gute Sache über Rythm ist Usability, Funktionsumfang und Ausdruckskraft.

Der Nachteil sein könnte:

  1. Das Glas ist ein bisschen Fett
  2. Es gibt keine Ausnahme vim IDE-Integration ist
+0

Rythm generiert Code und kompiliert ihn, wenn wir ihn zum ersten Mal treffen. Gibt es eine Möglichkeit, es zu erzwingen? weil Anfangsphase mehr als 5 Sekunden dauerte, die ich reduzieren muss, bevor ich erste Anfrage erhalte. – suresh

+1

Ich denke, Sie können ein "Precompile" Verhalten in Ihrem Rythm Plugin implementieren. Sie können auf https://github.com/rythmengine/play-rythm/blob/master/src/org/rythmengine/play/RythmPlugin.java für Details verweisen –