2016-10-19 11 views
0

定義済みのテンプレートからメッセージを準備する必要があります。構築しようとしているシステムは、100個のメッセージを1秒で準備します。だから私は、/他の場合、私は、この性能試験のために使用しているテンプレートが複数で、いくつかのロジックが含まれていテンプレートフレームワークのベンチマーク

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

ある市場で利用可能な複数のテンプレートフレームワークで順次千のメッセージを構築するためのプログラムを書き込んだためと代入文しています。

順番に1000のメッセージを準備します。これらの最終結果は以下にリストされています

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

これらの私はRythmテンプレートが他のすべてのテンプレートフレームワークを倒すと信じています。

Rythmテンプレートに関するあなたの考えを教えてください。それを使用する上で欠点はありますか?

+0

以外にはIDEとの統合はありませんビット脂肪

  • で、アルコを見てみましょう:これはJSPに基づいており、コンパイル時にテンプレートをJavaにコンパイルします。 http://arco.samajackun.com/arco-maven-plugin/faq.html –

  • 答えて

    0

    私が見てきた欠点は、複数のテンプレートで使用できるカスタマイズされた/ユーザー定義の関数があれば、すべてのテンプレートに同じ関数を書く必要があるということです。それはわかりましたか?

    +1

    まったくありません。 Rythmはコードを再利用する最も柔軟な方法を提供します。 a)別のテンプレートを作成し、任意のテンプレートから呼び出すことができます(再帰パターンであることも含めて)。 b)Javaパブリックメソッドを作成し、任意のテンプレート内で呼び出す。 コード再利用の詳細については、http://rythmengine.org/doc/template_guide.md#reuse-methods-summaryを参照してください。 –

    1

    こんにちはRythmの著者。あなたのベンチマークリストにRythmを入れてくれてありがとう。

    はリズムについて理解マイ:

    リズムの良いところは、使いやすさ、機能セットと表現です。

    欠点があるかもしれない:

    1. jarファイルはvimのあなたは高速テンプレートの展開に興味がある場合
    +0

    Rythmは初めてヒットしたときにコードを生成してコンパイルします。それを強制する方法はありますか?私は最初の要求を受ける前に、最初の段階で5秒以上かかるので、それを減らす必要があるからです。 – suresh

    +1

    私はあなたのRythmプラグインで "プリコンパイル"の動作を実装できると思います。詳細については、https://github.com/rythmengine/play-rythm/blob/master/src/org/rythmengine/play/RythmPlugin.javaを参照してください。 –