The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

benchmark-perlformance - Frontend for Benchmark::Perl::Formance

ABOUT

This is the frontend commandline tool for starting the performance benchmark runs.

After running it prints out the results which you can take to compare them to runs with other Perl versions, other architectures, different compile time configuration or on different machines.

SYNOPSIS

Usage:

  $ benchmark-perlformance
  $ benchmark-perlformance --plugins=SpamAssassin,Fib,Rx
  $ benchmark-perlformance --plugins=SpamAssassin,Fib,Rx -q
  $ benchmark-perlformance --plugins=SpamAssassin,Fib,Rx -v
  $ benchmark-perlformance --plugins=SpamAssassin,Fib,Rx -vv -ccccc

If run directly it uses the perl in your PATH:

  $ /path/to/benchmark-perlformance

To use another Perl start it via

  $ /other/path/to/bin/perl /path/to/benchmark-perlformance

To provide environment variables (for some plugins) you can do

  $ PERLFORMANCE_SHOOTOUT_FASTA_N=5500 benchmark-perlformance [...]

OPTIONS

There are some options available.

--help
-h

prints out a help page.

--plugins=SpamAssassin,Fib,Rx

Use only a particular list of sub benchmarks. The comma-separated list refers to Benchmark::Perl::Formance::Plugin::* respectively.

--verbose
-v
-vv
-vvv
-vvvv
-vvvvv

Increases the verbosity level during the run of the benchmarks. Default is only print the result (and maybe some output from external tools).

To increase the number of keys from your Perl Config that are included in the result use one or more -c options.

Please note that only one single -v is not enough to see errors that occur when trying to load a plugin. They are only marked as "skipped". Use -vv to see the error message; -vvv for progress information; -vvvv or more should be used for debugging info.

-q

Be quiet; do not output results.

--showconfig
-c

gives you the most basic information like Perl version, operating system name and architecture, i.e., perlpath, version, archname, archname64, osvers.

-cc

adds gccversion, gnulibc_version, usemymalloc, config_args, optimize.

-ccc

adds ccflags, cppflags, nm_so_opt.

-cccc

currently does not increase information.

-ccccc

includes all info from Perls %Config hash.

--tapdescription="some description"

When given this will preprend the YAML with a TAP line

  ok some description

This makes it easier for wrappers to embed the output into TAP which otherwise need to differentiate between output (verbose and other) and the YAML.

ENVIRONMENT VARIABLES

There are some options available.

PERLFORMANCE_TESTMODE_FAST

If this variable is set to 1 then some plugins try to scale down the stress to take less time (with stupid results, of course). Mostly for easier development.

PERLFORMANCE_SALEARN

See Benchmark::Perl::Formance::Plugin::SpamAssassin. Contains the path to the "sa-learn" executable.

PERLFORMANCE_THREADCOUNT

See Benchmark::Perl::Formance::Plugin::Threads. Use this many count of threads. Default is 16.

PERLFORMANCE_USE_FORKS

If set to true you can activate the forks drop-in replacement for threads.

See Benchmark::Perl::Formance::Plugin::Threads.

PLUGINS

Please read the documentation for the used plugins, as they might need special configuration, usually via environment variables.

Benchmark::Perl::Formance::Plugin::SpamAssassin

SpamAssassin

Benchmark::Perl::Formance::Plugin::Rx

Regular expressions

Benchmark::Perl::Formance::Plugin::Fib

Fibonnacci numbers to stress recursion and function calls.

Benchmark::Perl::Formance::Plugin::FibMoose

Fibonnacci numbers with Moose to stress recursion and method calls.

Benchmark::Perl::Formance::Plugin::FibMouse

Fibonnacci numbers with Mouse to stress recursion and method calls.

Benchmark::Perl::Formance::Plugin::FibOO

Fibonnacci numbers with plain Perl OO to stress recursion and method calls.

Benchmark::Perl::Formance::Plugin::Threads

Fibonnacci numbers with threads to stress thread handling.

Benchmark::Perl::Formance::Plugin::Shootout

Runs some Perl benchmarks from the Language Shootout on alioth.debian.org.

Benchmark::Perl::Formance::Plugin::MooseTS

Runs part of the Moose testsuite.