2016-10-19 8 views
0

미리 정의 된 템플릿에서 메시지를 준비해야한다는 요구 사항이 있습니다. 구축 할 시스템은 초당 100 개의 메시지를 준비합니다. 그래서 내가이 시장에서 사용할 수있는 여러 템플릿 프레임 워크 천 메시지를 순차적으로 구축 할 수있는 프로그램을 작성했습니다템플릿 프레임 워크 벤치 마크

내가이 성능 테스트에 사용한
-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. 항아리는 정력이 빠른 템플릿 확장에 관심이 있다면
    +0

    Rythm은 처음 히트 할 때 코드를 생성하고 컴파일합니다. 그것을 강제하는 방법이 있습니까? 초기 단계가 5 초 이상 걸렸으므로 첫 번째 요청을 받기 전에이를 줄여야합니다. – suresh

    +1

    Rythm 플러그인에서 "프리 컴파일"동작을 구현할 수 있다고 생각합니다. 자세한 내용은 https://github.com/rythmengine/play-rythm/blob/master/src/org/rythmengine/play/RythmPlugin.java를 참조하십시오. –