This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
provide per-PUT environment
authorJim Cromie <jim.cromie@gmail.com>
Sun, 10 Apr 2016 22:43:46 +0000 (16:43 -0600)
committerTony Cook <tony@develop-help.com>
Wed, 15 Jun 2016 01:52:08 +0000 (11:52 +1000)
commit60858fe86ce0e2182138f1006d72637ca0621048
treea6fe9e6682a3974c5e1b38fa5c29ea521ea5defd
parent857716c91d72a6a564885f5d4ead75033c1840ee
provide per-PUT environment

This patch lets user specify ENVAR=value pairs for individual PUTs,
thereby altering runtime behavior.  For some combination of module and
ENVAR, this should result in measurable benchmark differences.

This example benchmarks a PERL_MEM_LOG configured perl, 1st PUT with
PERL_MEM_LOG disabled, but enabled in the 2nd:

 $ perl Porting/bench.pl --jobs=2 \
   --verbose --debug --tests=/loop::for::pkg_/ \
   -- \
   perl5.23.9:+bare \
   perl5.23.9=+full:PERL_MEM_LOG=3mst,PERLIO=:stdio -MData::Dumper

this will run:

Command: PERL_HASH_SEED=0 PERLIO=:stdio PERL_MEM_LOG=3mst valgrind --tool=cachegrind  --branch-sim=yes --cachegrind-out-file=/dev/null  perl5.23.9  -MData::Dumper - 20 2>&1

Note that ':' is now a valid separator between the perl & label, but
not between ENVAR=value pairs, where a ',' is required.
Porting/bench.pl