File: bench.pl

package info (click to toggle)
libstring-formatter-perl 0.102080-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 164 kB
  • ctags: 16
  • sloc: perl: 471; makefile: 12
file content (40 lines) | stat: -rw-r--r-- 881 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!perl -l
use strict;
use lib 'lib';

use String::Formatter;

# Ha ha ha.  I am avoiding AutoPrereq from the following.
eval "
  use Benchmark;
  use Template;
  use String::Format;
";

my $hash = {
  a => 'apples',
  b => 'bananas',
};

my $fmt = String::Formatter->new({
  codes => $hash,
});

my $index_format = String::Format->stringfactory($hash);

my $tt2 = Template->new;

print $index_format->("I like to eat %a and %b.");
print $fmt->format("I like to eat %a and %b.");

$tt2->process(\'I like to eat [%a%] and [%b%].', $hash, \my $str);
print $str;

timethese(100_000, {
  dlc  => sub { $index_format->("I like to eat %a and %b.") },
  rjbs => sub { $fmt->format("I like to eat %a and %b.") },
  # tt2  => sub {
  #   $tt2->process(\'I like to eat [%a%] and [%b%].', $hash, \my $str);
  # },
  perl => sub { sprintf("I like to eat %s and %s.", qw(apples bananas)) },
});