bench_various_templaters.pl - test the relative performance of several different types of template engines.
CETH_file - CGI::Ex::Template using HTML::Template interface - (Loaded from file) CETH_mem - CGI::Ex::Template using HTML::Template interface - (Compiled in memory) CETH_str - CGI::Ex::Template using HTML::Template interface - (From string ref) CETXH_file - CGI::Ex::Template::XS using HTML::Template interface - (Loaded from file) CETXH_mem - CGI::Ex::Template::XS using HTML::Template interface - (Compiled in memory) CETXH_str - CGI::Ex::Template::XS using HTML::Template interface - (From string ref) CETX_file - CGI::Ex::Template::XS using TT interface - (Loaded from file) CETX_mem - CGI::Ex::Template::XS using TT interface - (Compiled in memory) CETX_str - CGI::Ex::Template::XS using TT interface - (From string ref) CET_file - CGI::Ex::Template using TT interface - (Loaded from file) CET_mem - CGI::Ex::Template using TT interface - (Compiled in memory) CET_str - CGI::Ex::Template using TT interface - (From string ref) HTE_mem - HTML::Template::Expr - (Compiled in memory) HTE_str - HTML::Template::Expr - (From string ref) HTJ_mem - HTML::Template::JIT - Compiled to C template - (Compiled in memory) HT_file - HTML::Template - (Loaded from file) HT_mem - HTML::Template - (Compiled in memory) HT_str - HTML::Template - (From string ref) TTXCET_str - Template::Toolkit with Stash::XS and Template::Parser::CET - (From string ref) TTX_file - Template::Toolkit with Stash::XS - (Loaded from file) TTX_mem - Template::Toolkit with Stash::XS - (Compiled in memory) TTX_str - Template::Toolkit with Stash::XS - (From string ref) TT_file - Template::Toolkit - (Loaded from file) TT_mem - Template::Toolkit - (Compiled in memory) TT_str - Template::Toolkit - (From string ref) TextTemplate_str - Text::Template - Perl code eval based - (From string ref) ------------------------------------------------------------------------ From a string or scalarref tests Benchmark: running CETH_str, CETXH_str, CETX_str, CET_str, HTE_str, HT_str, TTXCET_str, TTX_str, TT_str, TextTemplate_str for at least 2 CPU seconds... CETH_str: 2 wallclock secs ( 2.18 usr + 0.00 sys = 2.18 CPU) @ 1449.08/s (n=3159) CETXH_str: 2 wallclock secs ( 2.00 usr + 0.01 sys = 2.01 CPU) @ 1700.00/s (n=3417) CETX_str: 2 wallclock secs ( 2.22 usr + 0.00 sys = 2.22 CPU) @ 1584.23/s (n=3517) CET_str: 2 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 1333.18/s (n=2853) HTE_str: 2 wallclock secs ( 2.07 usr + 0.00 sys = 2.07 CPU) @ 922.71/s (n=1910) HT_str: 2 wallclock secs ( 2.13 usr + 0.00 sys = 2.13 CPU) @ 1221.13/s (n=2601) TTXCET_str: 2 wallclock secs ( 2.01 usr + 0.01 sys = 2.02 CPU) @ 534.16/s (n=1079) TTX_str: 2 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 312.62/s (n=669) TT_str: 3 wallclock secs ( 2.12 usr + 0.01 sys = 2.13 CPU) @ 300.47/s (n=640) TextTemplate_str: 2 wallclock secs ( 2.13 usr + 0.02 sys = 2.15 CPU) @ 1189.77/s (n=2558) Rate TT_str TTX_str TTXCET_str HTE_str TextTemplate_str HT_str CET_str CETH_str CETX_str CETXH_str TT_str 300/s -- -4% -44% -67% -75% -75% -77% -79% -81% -82% TTX_str 313/s 4% -- -41% -66% -74% -74% -77% -78% -80% -82% TTXCET_str 534/s 78% 71% -- -42% -55% -56% -60% -63% -66% -69% HTE_str 923/s 207% 195% 73% -- -22% -24% -31% -36% -42% -46% TextTemplate_str 1190/s 296% 281% 123% 29% -- -3% -11% -18% -25% -30% HT_str 1221/s 306% 291% 129% 32% 3% -- -8% -16% -23% -28% CET_str 1333/s 344% 326% 150% 44% 12% 9% -- -8% -16% -22% CETH_str 1449/s 382% 364% 171% 57% 22% 19% 9% -- -9% -15% CETX_str 1584/s 427% 407% 197% 72% 33% 30% 19% 9% -- -7% CETXH_str 1700/s 466% 444% 218% 84% 43% 39% 28% 17% 7% -- ------------------------------------------------------------------------ Compiled and cached on the file system tests Benchmark: running CETH_file, CETXH_file, CETX_file, CET_file, HT_file, TTX_file, TT_file for at least 2 CPU seconds... CETH_file: 3 wallclock secs ( 2.14 usr + 0.02 sys = 2.16 CPU) @ 3106.02/s (n=6709) CETXH_file: 2 wallclock secs ( 2.01 usr + 0.04 sys = 2.05 CPU) @ 4447.80/s (n=9118) CETX_file: 3 wallclock secs ( 2.02 usr + 0.09 sys = 2.11 CPU) @ 3586.26/s (n=7567) CET_file: 3 wallclock secs ( 2.16 usr + 0.05 sys = 2.21 CPU) @ 2432.13/s (n=5375) HT_file: 2 wallclock secs ( 2.18 usr + 0.03 sys = 2.21 CPU) @ 1868.33/s (n=4129) TTX_file: 2 wallclock secs ( 2.14 usr + 0.04 sys = 2.18 CPU) @ 820.64/s (n=1789) TT_file: 2 wallclock secs ( 2.11 usr + 0.04 sys = 2.15 CPU) @ 733.02/s (n=1576) Rate TT_file TTX_file HT_file CET_file CETH_file CETX_file CETXH_file TT_file 733/s -- -11% -61% -70% -76% -80% -84% TTX_file 821/s 12% -- -56% -66% -74% -77% -82% HT_file 1868/s 155% 128% -- -23% -40% -48% -58% CET_file 2432/s 232% 196% 30% -- -22% -32% -45% CETH_file 3106/s 324% 278% 66% 28% -- -13% -30% CETX_file 3586/s 389% 337% 92% 47% 15% -- -19% CETXH_file 4448/s 507% 442% 138% 83% 43% 24% -- ------------------------------------------------------------------------ Cached in memory tests Benchmark: running CETH_mem, CETXH_mem, CETX_mem, CET_mem, HTE_mem, HTJ_mem, HT_mem, TTX_mem, TT_mem for at least 2 CPU seconds... CETH_mem: 2 wallclock secs ( 2.11 usr + 0.03 sys = 2.14 CPU) @ 3193.46/s (n=6834) CETXH_mem: 2 wallclock secs ( 2.18 usr + 0.04 sys = 2.22 CPU) @ 4622.07/s (n=10261) CETX_mem: 2 wallclock secs ( 2.02 usr + 0.10 sys = 2.12 CPU) @ 6334.43/s (n=13429) CET_mem: 2 wallclock secs ( 2.16 usr + 0.04 sys = 2.20 CPU) @ 3946.82/s (n=8683) HTE_mem: 2 wallclock secs ( 2.20 usr + 0.01 sys = 2.21 CPU) @ 1515.38/s (n=3349) HTJ_mem: 2 wallclock secs ( 2.05 usr + 0.06 sys = 2.11 CPU) @ 5990.05/s (n=12639) HT_mem: 2 wallclock secs ( 1.98 usr + 0.03 sys = 2.01 CPU) @ 2588.56/s (n=5203) TTX_mem: 2 wallclock secs ( 2.07 usr + 0.03 sys = 2.10 CPU) @ 3254.29/s (n=6834) TT_mem: 2 wallclock secs ( 2.18 usr + 0.02 sys = 2.20 CPU) @ 2217.73/s (n=4879) Rate HTE_mem TT_mem HT_mem CETH_mem TTX_mem CET_mem CETXH_mem HTJ_mem CETX_mem HTE_mem 1515/s -- -32% -41% -53% -53% -62% -67% -75% -76% TT_mem 2218/s 46% -- -14% -31% -32% -44% -52% -63% -65% HT_mem 2589/s 71% 17% -- -19% -20% -34% -44% -57% -59% CETH_mem 3193/s 111% 44% 23% -- -2% -19% -31% -47% -50% TTX_mem 3254/s 115% 47% 26% 2% -- -18% -30% -46% -49% CET_mem 3947/s 160% 78% 52% 24% 21% -- -15% -34% -38% CETXH_mem 4622/s 205% 108% 79% 45% 42% 17% -- -23% -27% HTJ_mem 5990/s 295% 170% 131% 88% 84% 52% 30% -- -5% CETX_mem 6334/s 318% 186% 145% 98% 95% 60% 37% 6% --
To install CGI::Ex, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CGI::Ex
CPAN shell
perl -MCPAN -e shell install CGI::Ex
For more information on module installation, please visit the detailed CPAN module installation guide.