Tenjin

News

Introduction

Tenjin is a very fast and full-featured template engine available in several script languages.

How fast Tenjin is? The following is a result of benchmark to generate 340 lines per page x 10,000 pages (this benchmark script is included in Tenjin package). Test#1 creates and destroys template object for each time. This test is intended to represent CGI. Test#2 creates template object only once and reuse it for each time. This test is intended to represent mod_perl, mod_python, or FastCGI.

MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB
Language Template Engine Test#1(sec) Test#2(sec)
Python(2.5.1) pyTenjin (0.6.1) 6.96 5.61
Cheetah (2.0) 20.36 19.82
Django (0.9.5) 71.33 59.80
Myghty (1.1) 107.88 19.30
Kid (0.9.6) 380.24 378.96
Genshi (0.4.4) 560.30 271.69
Mako (0.1.9) 17.78 13.49
Templetor (web.py 0.22) 428.19 61.53
Ruby(1.8.6) rbTenjin (0.6.0) 7.34 4.52
eruby (1.0.5) 12.29 11.53
ERB(def_method) (Ruby1.8.6) 36.73 5.85
PHP(5.2.0) phpTenjin (0.0.1) 5.39 3.64
Smarty (2.6.18) 10.84 10.21
Perl(5.8.8) plTenjin (0.0.1) 10.42 5.72
Template-Toolkit(XS) (2.18) 103.58 26.30
HTML::Template (2.9) 46.70 30.21
JS(spidermonkey) jsTenjin (0.0.1) 19.00 12.98
JS(Rhino, JDK5) jsTenjin (0.0.1) 24.29 19.15
Java(JDK5) Velocity (1.4) 22.80 11.41
Velocity (1.5) 20.01 8.42

The following is a graph to show number of pages per second.

graph of benchmark

This benchmark shows that Tenjin is about:

In addition to its high performance, Tenjin has the following features.

See User's Guide and FAQ for details.

Download

You can download Tenjin from SourceForge.net or RubyForge, or type gem install tenjin if you are Ruby user.

Notice that Tenjin is still beta version. It means that API or specification of Tenjin may be changed in the future release.

Documents

Changes
(Python) (Ruby) (PHP) (Perl) (JavaScript)
User's Guide
(Python) (Ruby) (PHP) (Perl) (JavaScript)
FAQ
(Python) (Ruby) (PHP) (Perl) (JavaScript)
Examples
(Python) (Ruby) (PHP) (Perl) (JavaScript)
Presentation
2007 LL Spirit LightningTalk (full-version) (Japanese)

License