Thread Template Toolkit: BLOCK + WRAPPER (14 answers)
Opened by bloonix at 2007-06-13 00:50

bloonix
 2007-06-13 01:59
#77464 #77464
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo ptk,

du hast natürlich recht... das Caching sollte natürlich seinen Dienst tun!
Aber das war nicht mein einziger Gedanke.

Quote
Es ist klar, dass man trotzdem etwas gewinnen kann, wenn alles schon als Perl-Skalar vorliegt, man spart schließlich ein paar Syscalls.

Das dachte ich mir auch, dass es auch sonst ein wenig zügiger sein sollte,
aber nix da...

Ich habe das obige Beispiel einfach mal umgesetzt und getestet.
Folgendes ist dabei raus gekommen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;
use Benchmark;
use Template;

open my $fh, '<', 'index1.tmpl' or die $!;
my $template = do { local $/; <$fh> };
close $fh;

my $t1 = Template->new(INCLUDE_PATH => '.', PRE_PROCESS => 'main.tmpl') or die $!;

sub program { $t1->process(\$template, undef, '/dev/null') or die $!; }
sub cache { $t1->process('index1.tmpl', undef, '/dev/null') or die $!; }

Benchmark::cmpthese(-1, {
  program => \&program,
  cache => \&cache,
});


Rate program cache
program 610/s -- -69%
cache 1982/s 225% --
\n\n

<!--EDIT|opi|1181686026-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread Template Toolkit: BLOCK + WRAPPER