Scroll to navigation

Dumbbench::Instance(3) User Contributed Perl Documentation Dumbbench::Instance(3)

NAME

Dumbbench::Instance - A benchmark instance within a Dumbbench

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::Cmd->new(name => 'mauve', command => [qw(perl -e 'something')]),
    # ... more things to benchmark ...
  );
  $bench->run();
  # ...

DESCRIPTION

This module is the base class for all benchmark instances. For example, for benchmarking external commands, you should use Dumbbench::Instance::Cmd.

The synopsis shows how instances of subclasses of "Dumbbench::Instance" are added to a benchmark run.

METHODS

new

Constructor that takes named arguments. In this base class, the only recognized argument is an instance "name".

timings

Returns the internal array reference of timings or undef if there aren't any.

dry_timings

Same as "timings" but for dry-run timings.

name

Returns the name of the instance.

clone

Returns a full (deep) copy of the object. May have to be augmented in subclasses.

single_run

Needs to be implemented in subclasses: A method that performs a single benchmark run and returns the duration of the run in seconds.

single_dry_run

Needs to be implemented in subclasses: A method that performs a single dry-run and returns the duration of the run in seconds.

timings_as_histogram

If the optional SOOT module is installed, "Dumbbench" can generate histograms of the timing distributions.

This method creates such a histogram object (of type "TH1D") and returns it. If "SOOT" is not available, this method returns the empty list.

dry_timings_as_histogram

Same as "timings_as_histogram", but for the timings from dry-runs.

SEE ALSO

Dumbbench

Dumbbench::Instance::Cmd, Dumbbench::Instance::PerlEval, Dumbbench::Instance::PerlSub

Dumbbench::Result

Benchmark

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.

2022-04-22 perl v5.38.2