엔진을 벤치마크한 결과, 초당 100만 회 이상의 연산 처리량과 1000ns 이하의 평균 지연 시간을 기록했습니다.
이는 범용 템플릿 엔진인 handlebars.js와 비슷한 수준의 처리량을 보여주며,
테스트에서 가장 빠른 mustache.js의 성능에도 근접한 결과입니다.
이러한 성능을 확보하기 위해 다음과 같은 설계와 최적화를 적용했습니다.
- 지연 평가(Lazy Evaluation):
compile내 키 패턴과 메타데이터는 선언 즉시 계산되지 않고, 클로저와 Getter를 통해 실제 값이 필요한 시점에 동적으로 평가되도록 구현하여 불필요한 연산을 방지했습니다. - 경로 파싱 및 캐싱:
중첩된 객체나 배열의 속성 탐색 시
Map기반의 캐싱을 적용하여 반복 렌더링 시 발생하는 중복 문자열 연산을 최소화했습니다.