X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=samples%2Fbenchmark%2Fbench_template.pl;h=17866dd1734460fe2ecf6162eb795f3a57693669;hb=aa030874456c91d688e6c9b25e82d2bf9575ea6f;hp=450078b1c3d3c6d8c89d16ad63f114e8393013ae;hpb=4eee158dce82376f2f37de29d91c53f60a24aebe;p=chaz%2Fp5-CGI-Ex diff --git a/samples/benchmark/bench_template.pl b/samples/benchmark/bench_template.pl index 450078b..17866dd 100644 --- a/samples/benchmark/bench_template.pl +++ b/samples/benchmark/bench_template.pl @@ -44,13 +44,11 @@ my @config1 = (STASH => $s, ABSOLUTE => 1, CONSTANTS => {simple => 'var'}, EVAL_ #push @config1, (INTERPOLATE => 1); my @config2 = (@config1, COMPILE_EXT => '.ttc'); -#use CGI::Ex::Template209; -#my $tt1 = CGI::Ex::Template209->new(@config1); +#use CGI::Ex::Template::XS; +#my $tt1 = CGI::Ex::Template::XS->new(@config1); my $tt1 = Template->new(@config1); -my $tt2 = Template->new(@config2); -my $cet = CGI::Ex::Template->new(@config1); -my $cetc = CGI::Ex::Template->new(@config2); +my $cet = CGI::Ex::Template->new(@config1, compile_perl => 1); #$swap->{$_} = $_ for (1 .. 1000); # swap size affects benchmark speed @@ -83,6 +81,27 @@ my $longer_template = "[% INCLUDE bar.tt %]" ."[% array.join('|') %]" ."[% PROCESS bar.tt %]"; +my $hello2000 = "[% title %] +[% array = [ \"Hello\", \"World\", \"2000\", \"Hello\", \"World\", \"2000\" ] %] +[% sorted = array.sort %] +[% multi = [ sorted, sorted, sorted, sorted, sorted ] %] + +[% FOREACH row = multi %] + + [% FOREACH col = row %] + + [% END %] + +[% END %] +
[% col %]
+[% param = integer %] +[% FOREACH i = [ 1 .. 10 ] %] + [% var = i + param %]" + .("\n [%var%] Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World
"x20)." +[% END %] + +"; + ###----------------------------------------------------------------### ### set a few globals that will be available in our subs my $show_list = grep {$_ eq '--list'} @ARGV; @@ -146,7 +165,9 @@ my $tests = { # '43_filteruri' => "[% ' ' | uri %]", # 132% # 550% # 379% # 471% # 12524.4/s # '44_filterevl' => "[% foo | eval %]", # 303% # 530% # 434% # 478% # 5475.5/s # '45_capture' => "[% foo = BLOCK %]Hi[% END %][% foo %]", # 102% # 386% # 291% # 304% # 10606.5/s # - '46_complex' => "$longer_template", # 55% # 288% # 133% # 251% # 1230.3/s # + '46_refs' => "[% b = \\code(1); b(2) %]", # 60% # 270% # 239% # 174% # 6451.9/s # + '47_complex' => "$longer_template", # 60% # 290% # 160% # 270% # 1054.3/s # + '48_hello2000' => "$hello2000", # 2% # 136% # 39% # 115% # 184.8/s # # overall # 95% # 406% # 251% # 346% #