Perl Template Roundup April 2010: Glossary

If you're not familiar with Template::Benchmark, you might find the following terms and definitions useful.

Template Engine

A template engine is any specific templating system, usually a particular perl module, for example Template::Toolkit, HTML::Template and Template::Sandbox are all template engines.


Some template engines can be configured in multiple ways, which can have a dramatic impact on performance, each of these ways is referred to as a variant, and each variant has its own benchmark results.

For example, Template::Toolkit has variants for its default configuration, and it configured with a variable stash written in C, and also with both stash and parser written in C.

For brevity's sake on the charts, the variants are usually given a rather terse abbreviation such as TS or TS_CHI, if you mouse-over any chart you should see a tool-tip with a key to these abbreviations.

Template Feature

Benchmarks are run testing various template features, these represent what sort of behaviour a template engine supports within a template.

These features aren't features of the engine, like caching or cascading templates, but rather they're features of what you can do within a template, such as expression calculation, looping, different kinds of variable lookups and so on.

For a complete list of what the different features mean, refer to the Template::Benchmark documentation.

Cache Type

Cache type represents the caching environment and source of the template being executed, the names should be largely self-explanatory but a full list and descriptions can be found in the Template::Benchmark documentation.

Note that the shared-memory caching results are highly unreliable, take them with a pinch of salt as I've seen some wildly different results for them.


Repeats is a slightly misleading term, it doesn't refer to how often the benchmark was run, instead it refers to how often each template snippet was repeated within the template.

Thus a repeats value of 1 has the template only making use of the feature once, 15 means it does it 15 times, and I'm sure you can figure out what 30 means.

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