X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-CGI-Ex;a=blobdiff_plain;f=samples%2Fmemory_template.pl;h=9c055667568bd9c1dd065ad25d81dfb13ed6010e;hp=6b03cdf39e08ff60d39214a47e2ec3d68ea3fee8;hb=8cd30501f5be7e40e26b3dc885dfe25520d39df9;hpb=6c57b3331d84010b9e2031f8e3c8937c3117e8fc diff --git a/samples/memory_template.pl b/samples/memory_template.pl index 6b03cdf..9c05566 100644 --- a/samples/memory_template.pl +++ b/samples/memory_template.pl @@ -15,27 +15,58 @@ my $txt = "[% one %][% two %][% three %][% hash.keys.join %] [% code(one).lengt ###----------------------------------------------------------------### my $module; +my $name; if (! fork) { $module = 'CGI::Ex::Template'; - $0 = "perl $module"; +} elsif (! fork) { + $module = 'CGI::Ex::Template::XS'; +} elsif (! fork) { + $module = 'Template'; +} elsif (! fork) { + $module = 'Template'; + $name = 'Template Stash::XS'; + require Template::Stash::XS; +} elsif (! fork) { + $module = 'HTML::Template'; +} elsif (! fork) { + $module = 'HTML::Template::Expr'; } elsif (! fork) { $module = 'Template'; - $0 = "perl $module"; + $name = 'Template::Parser::CET'; + require Template::Parser::CET; + Template::Parser::CET->activate; } if ($module) { + $name ||= $module; + $0 = "$0 - $name"; + my $pm = "$module.pm"; $pm =~ s|::|/|g; require $pm; - my $t = $module->new(ABSOLUTE => 1); - my $out = ''; - $t->process(\$txt, $swap, \$out); - print $out; -} + if ($module =~ /HTML::Template/) { + my $t = eval { $module->new }; -sleep 15; # go and check the 'ps fauwx|grep perl' + } else { + + my $t = $module->new(ABSOLUTE => 1); + my $out = ''; + $t->process(\$txt, $swap, \$out); + print "$name $out"; + for (1..30) { my $out; $t->process(\$txt, $swap, \$out); }; + } + +# print "$name $_\n" foreach sort keys %INC; + print "$name times: (@{[times]})\n"; + sleep 15; + exit; +} +sleep 2; +print grep {/\Q$0\E/} `ps fauwx`; +#sleep 15; # go and check the 'ps fauwx|grep perl' +exit; ###----------------------------------------------------------------###