logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Benchmark::Apps - Simple interface to benchmark applications.

Author

       Aberto Simoes (aka ambs), "<ambs at cpan.org>" Nuno Carvalho (aka smash), "<smash @ cpan.org>"

Bugs

       Please report any bugs or feature requests to "bug-benchmark-apps at rt.cpan.org",  or  through  the  web
       interface  at  <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Benchmark-Apps>.   I will be notified, and
       then you'll automatically be notified of progress on your bug as I make changes.

Description

       This module can be used to perform simple benchmarks on programs. Basically, it can be used to benchmark
       any program that can be called with a system call.

Examples

       Check files in "examples/".

Functions

run
       This method is used to run benchmarks. It runs the commands described in the hash passed as argument. It
       returns an hash of the results each command.  A second hash reference can be passed to this method: a
       configuration hash reference. The values passed in this hash override the default behaviour of the run
       method. The configuration options available at this moment are:

       "pretty_print"
           When enabled it will print to stdout, in a formatted way the results of the benchmarks as they finish
           running.  This  option  should  de  used  when you want to run benchmarks and want to see the results
           progress as the tests run. You can disable it, so you can perform automated benchmarks.

           Options: true (1) or false (0)

           Default: false (0)

       "iters"
           This is the number of iterations that each test will run.

           Options: integer greater than 1

           Default: 5

       "args"
           This is a reference to an anonymous function that will calculate the command argument  based  on  the
           iteraction number.

           Options: any function reference that returns a string

           Default:  empty  function:  always returns an empty string, which means no arguments will be given to
           the command

   run
       This method runs the commands described in the hash passed as  argument.   It  returns  an  hash  of  the
       results and return codes for each command.

   pretty_print
       This method is used to print the final result to STDOUT before returning from the "run" method.

   time_this
       This  method is not meant to be used directly, although it can be useful.  It receives a command line and
       executes it via system, taking care of registering the elapsed time.

Name

       Benchmark::Apps - Simple interface to benchmark applications.

Support

       You can find documentation for this module with the perldoc command.

           perldoc Benchmark::Apps

       You can also look for information at:

       •   RT: CPAN's request tracker

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Benchmark-Apps>

       •   Search MetaCPAN

           <https://metacpan.org/release/Benchmark-Apps>

Synopsis

       This module provides a simple interface to benchmark applications (not necessarily Perl applications).

         use Benchmark::Apps;

         my $commands = {
              cmd1 => 'run_command_1 with arguments',
              cmd2 => 'run_command_2 with other arguments',
            };

         my $conf = { pretty_print=>1, iters=>5 };

         Benchmark::Apps::run( $commands, $conf );

See Also