File: run

package info (click to toggle)
libapp-options-perl 1.12-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 280 kB
  • sloc: perl: 1,271; sh: 256; makefile: 8
file content (43 lines) | stat: -rwxr-xr-x 1,080 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
41
42
43
#!/usr/local/bin/perl

use lib "../lib";
use App::Options qw(:none);
use Benchmark qw(:all) ;
chdir("../t");

#######################################################################
# The purpose of this benchmark file is to understand how long it
# takes to parse a "typical" set of options.
# I used the option file represented by the main regression test
# suite in the "t" directory.
#   Result: 196 parses/second, or ~ .005 seconds
# This seems an acceptable overhead ;-) for the flexibility that
# this module provides.
#######################################################################

sub baseline {
    my (%values);
    App::Options->init(values => \%values);
}

sub baseline2 {
    my (%values);
    App::Options->init(values => \%values);
    App::Options->init(values => \%values);
}

sub baseline3 {
    my (%values);
    App::Options->init(values => \%values);
    %values = ();
    App::Options->init(values => \%values);
}

$count = 400;

cmpthese($count, {
    'baseline' => \&baseline,
    'baseline2' => \&baseline2,
    'baseline3' => \&baseline3,
});