NAME
Dumbbench::Instance::PerlEval - Benchmarks a string of Perl code
SYNOPSIS
use Dumbbench;
my $bench = Dumbbench->new(
target_rel_precision => 0.005, # seek ~0.5%
initial_runs => 20, # the higher the more reliable
);
$bench->add_instances(
Dumbbench::Instance::PerlEval->new(name => 'mauve', code => 'for(1..1e9){$i++}'),
# ... more things to benchmark ...
);
$bench->run();
# ...
DESCRIPTION
This class inherits from Dumbbench::Instance and implements benchmarking of strings of Perl code using eval ""
.
METHODS
new
Constructor that takes named arguments.
In addition to the properties of the base class, the Dumbbench::Instance::PerlEval
constructor requires a code
parameter. The code
needs to be a string that is suitable for passing repeatedly to string-eval
.
Optionally, you can provide a dry_run_code
option. It has the same structure and purpose as the code
option, but it is used for the dry-runs. By default, a simple eval
is used for this, so it's unlikely you will need the dry-run unless you want to strip out the compile-time overhead of your code.
code
Returns the code string that was set during construction.
dry_run_code
Returns the dry-run code string that was set during construction.
SEE ALSO
Dumbbench, Dumbbench::Instance, Dumbbench::Instance::Cmd, Dumbbench::Result
Number::WithError does the Gaussian error propagation.
SOOT can optionally generate histograms from the timing distributions.
http://en.wikipedia.org/wiki/Median_absolute_deviation
AUTHOR
Steffen Mueller, <smueller@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Steffen Mueller
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.