Perl Template Roundup April 2010

Although published in June, this Template Roundup was generated from benchmarks gathered during April 2010, using versions of the various template engines available at that time.

You may want to read the more up-to-date June 2010 roundup instead, and regard this one as a historical curiosity.

It's rather quaint in this day and age to warn that a page contains a lot of images but, be advised, some of these reports do contain up to a hundred chart images.

You can leap right in to see the charts from the reports page, but I advise you to read the glossary first, and you might want to read about the methodology too.

The raw benchmark data used to construct these reports is available, but only on request. I don't have bandwidth to burn on idly curious downloads.

Important Notes for the April 2010 Roundup

It should be noted that the version of Text::Xslate used was an extremely early alpha and does not fairly reflect the performance or caching types available in the versions released in the interim.

The shared memory caching seems to work intermittently on my benchmark machine, so the results are possibly unreliable. Since only one template engine has shared memory caching implemented in its Template::Benchmark plugin, the results probably wouldn't have made for an interesting "comparison" anyway.

Template Engines Used for the April 2010 Roundup

VariantDescription
HTHTML::Template (2.9)
HTCHTML::Template::Compiled (0.94)
HTEHTML::Template::Expr (0.07)
HTJHTML::Template::JIT (0.05)
HTPHTML::Template::Pro (0.93)
MoTeMojo::Template (0.999921)
NTNTS::Template (2.1)
TAHTTemplate::Alloy (1.013) in HTML::Template mode
TATTTemplate::Alloy (1.013) in Template::Toolkit mode
TATT_PTemplate::Alloy (1.013) in Template::Toolkit mode (compile to perl)
TATT_PSTemplate::Alloy (1.013) in Template::Toolkit mode (compile to perl, using process_simple())
TATT_STemplate::Alloy (1.013) in Template::Toolkit mode (using process_simple())
TSTemplate::Sandbox (1.03) without caching
TS_CFTemplate::Sandbox (1.03) with Cache::CacheFactory (1.10) caching
TS_CHITemplate::Sandbox (1.03) with CHI (0.34) caching
TS_FMMTemplate::Sandbox (1.03) with Cache::FastMmap (1.34) caching
TTTemplate::Toolkit (2.22)
TT_XTemplate::Toolkit (2.22) with Stash::XS (no version number)
TT_XCETTemplate::Toolkit (2.22) with Stash::XS (no version number) and Template::Parser::CET (0.05)
TTinyTemplate::Tiny (0.11)
TeCSText::ClearSilver (0.10.5.1)
TeMMHMText::MicroMason (2.07) using Text::MicroMason::HTMLMason (no version number)
TeMMTeTeText::MicroMason (2.07) using Text::MicroMason::TextTemplate (no version number)
TeMTText::MicroTemplate (0.11)
TeTeText::Template (1.45)
TeTeSimpText::Template::Simple (0.81)
TeTmplText::Tmpl (0.33)
TeXsText::Xslate (0.001_05)
TenjTenjin (0.051)

Thanks

Thanks go out to Jakub Narebski for valuable feedback and suggestions.

© 2009-2013 Sam Graham, unless otherwise noted. All rights reserved.