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 %]
+ [% col %] |
+ [% END %]
+
+[% END %]
+
+[% 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% #