NAME
Benchmarks - The comparison benchmarker
SYNOPSIS
use Benchmarks sub {
my $x = 1;
+{
times => sub { $x * $x * $x * $x },
raise => sub { $x ** 4 },
};
};
DESCRIPTION
Benchmarks is the Benchamark wrapper for comparing routines easily.
When this module was loaded, all you need to do is pass the CODE reference that returns hash reference.
use Benchmarks sub {
+{
'routine_name_1' => sub { '... some code ...' },
'routine_name_2' => sub { '... some code ...' },
};
};
Then the comparison will be invoked and show the result like below.
Benchmark: running raise, times for at least 1 CPU seconds...
raise: -1 wallclock secs ( 1.07 usr + 0.00 sys = 1.07 CPU) @ 8895180.37/s (n=9517843)
times: 2 wallclock secs ( 1.10 usr + 0.00 sys = 1.10 CPU) @ 4051316.36/s (n=4456448)
Rate times raise
times 4051316/s -- -54%
raise 8895180/s 120% --
NOTE that Benchmarks
exports *ALL* functions from Benchmark
. You can use Benchmarks
module as same as Benchmark module.
use Benchmarks;
timethis (-1, sub { bless +{}, 'Foo' } );
More information about functions: <https://metacpan.org/pod/Benchmark#Standard-Exports> and <https://metacpan.org/pod/Benchmark#Optional-Exports >
REPOSITORY
Benchmarks is hosted on github <http://github.com/bayashi/Benchmarks>
Welcome your patches and issues :D
AUTHOR
Dai Okabayashi <bayashi@cpan.org>
SEE ALSO
LICENSE
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.