view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
our $LIST = {
summary => 'List of modules which employ magic variable technique to do stuffs',
description => <<'_',
This is a list of modules which provide some "magic" variable which you can
get/set to perform stuffs. I personally find this technique is mostly useful to
"temporarily set" stuffs, by combining it with Perl's `local()`.
_
entries => [
{
module => 'File::chdir',
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
},
{
module => 'File::umask',
description => <<'_',
Provides `$UMASK` to get/set umask.
_
},
{
module => 'Umask::Local',
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
{
module => 'Locale::Tie',
description => <<'_',
Provides `$LANG`, `$LC_ALL`, `$LC_TIME`, and few others to let you (temporarily)
set locale settings.
_
},
{
module => 'Locale::Scope',
description => <<'_',
Like <pm:Locale::Tie>, but instead of using a tied variable, uses an object with
its `DESTROY` method restoring original settings.
_
},
],
};
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
This document describes version 0.002 of Acme::CPANModules::MagicVariableTechnique (from Perl distribution Acme-CPANModules-MagicVariableTechnique), released on 2023-10-29.
=head1 DESCRIPTION
This is a list of modules which provide some "magic" variable which you can
get/set to perform stuffs. I personally find this technique is mostly useful to
"temporarily set" stuffs, by combining it with Perl's C<local()>.
=head1 ACME::CPANMODULES ENTRIES
=over
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
=item L<File::umask>
Author: L<SHARYANTO|https://metacpan.org/author/SHARYANTO>
Provides C<$UMASK> to get/set umask.
=item L<Umask::Local>
Author: L<ROUZIER|https://metacpan.org/author/ROUZIER>
lib/Acme/CPANModules/MagicVariableTechnique.pm view on Meta::CPAN
=item L<Locale::Tie>
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Provides C<$LANG>, C<$LC_ALL>, C<$LC_TIME>, and few others to let you (temporarily)
set locale settings.
=item L<Locale::Scope>
Author: L<KARUPA|https://metacpan.org/author/KARUPA>
Like L<Locale::Tie>, but instead of using a tied variable, uses an object with
its C<DESTROY> method restoring original settings.
=back
=head1 FAQ
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/ModernPreambles.pm view on Meta::CPAN
is equivalent to:
use strict;
use warnings;
use feature ':5.26';
mro::set_mro( scalar caller(), 'c3' );
I think <pm:Modern::Perl> is one of the first to popularize this modern preamble
concept and a bunch of similar preambles emerged. This list catalogs them.
Meanwhile, you can also use:
use v5.12; # enables strict and warnings, as well as all 5.12 features (see <pm:feature> for more details on new features of each perl release)
and so on, but this also means you set a minimum Perl version.
_
entries => [
{module=>'Alt::common::sense::TOBYINK'},
{module=>'common::sense'},
lib/Acme/CPANModules/ModernPreambles.pm view on Meta::CPAN
is equivalent to:
use strict;
use warnings;
use feature ':5.26';
mro::set_mro( scalar caller(), 'c3' );
I think L<Modern::Perl> is one of the first to popularize this modern preamble
concept and a bunch of similar preambles emerged. This list catalogs them.
Meanwhile, you can also use:
use v5.12; # enables strict and warnings, as well as all 5.12 features (see L<feature> for more details on new features of each perl release)
and so on, but this also means you set a minimum Perl version.
=head1 ACME::CPANMODULES ENTRIES
=over
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/ModuleAutoloaders.pm view on Meta::CPAN
summary => 'List of modules that autoload other modules',
description => <<'_',
"Module autoloader" modules work using Perl's autoloading mechanism (read
`perlsub` for more details). By declaring a subroutine named `AUTOLOAD` in the
`UNIVERSAL` package, you setup a fallback mechanism when you call an undefined
subroutine. The module autoloader's's AUTOLOADER loads the module using e.g.
<pm:Module::Load> or plain `require()` then try to invoke the undefined
subroutine once again.
These modules are usually convenient for one-liner usage.
lib/Acme/CPANModules/ModuleAutoloaders.pm view on Meta::CPAN
=head1 DESCRIPTION
"Module autoloader" modules work using Perl's autoloading mechanism (read
C<perlsub> for more details). By declaring a subroutine named C<AUTOLOAD> in the
C<UNIVERSAL> package, you setup a fallback mechanism when you call an undefined
subroutine. The module autoloader's's AUTOLOADER loads the module using e.g.
L<Module::Load> or plain C<require()> then try to invoke the undefined
subroutine once again.
These modules are usually convenient for one-liner usage.
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.005"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/NewDistributions/202001.pm view on Meta::CPAN
summary => "Test using App::ProveRdeps",
},
{
description => "Distribution Test-SQLite first released by GENE at 2020-01-12T21:57:40Z.",
module => "Test::SQLite",
summary => "SQLite setup/teardown for tests",
},
{
description => "Distribution Tickit-App-Plugin-EscapePrefix first released by PEVANS at 2020-01-27T22:18:25Z.",
module => "Tickit::App::Plugin::EscapePrefix",
summary => "Tickit application plugin for Escape-prefixed shortcut keys",
lib/Acme/CPANModules/NewDistributions/202001.pm view on Meta::CPAN
summary => "Catch test library for XS ",
},
{
description => "Distribution XS-libboost-mini first released by SYBER at 2020-01-30T15:51:05Z.",
module => "XS::libboost::mini",
summary => "C++ Boost library for XS (most common subset).",
},
{
description => "Distribution XS-libbrotli first released by DMOL at 2020-01-31T17:11:01Z.",
module => "XS::libbrotli",
summary => "Brotli compression library for XS.",
lib/Acme/CPANModules/NewDistributions/202001.pm view on Meta::CPAN
=item * L<Test::ProveRdeps> - Test using App::ProveRdeps
Distribution Test-ProveRdeps first released by PERLANCAR at 2020-01-30T11:15:50Z.
=item * L<Test::SQLite> - SQLite setup/teardown for tests
Distribution Test-SQLite first released by GENE at 2020-01-12T21:57:40Z.
=item * L<Tickit::App::Plugin::EscapePrefix> - Tickit application plugin for Escape-prefixed shortcut keys
lib/Acme/CPANModules/NewDistributions/202001.pm view on Meta::CPAN
=item * L<XS::catch> - Catch test library for XS
Distribution XS-catch first released by SYBER at 2020-01-30T13:22:55Z.
=item * L<XS::libboost::mini> - C++ Boost library for XS (most common subset).
Distribution XS-libboost-mini first released by SYBER at 2020-01-30T15:51:05Z.
=item * L<XS::libbrotli> - Brotli compression library for XS.
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/OneLetter.pm view on Meta::CPAN
To produce this list, you can also use <prog:lcpan>:
% lcpan mods -l -x --or `perl -E'say for "A".."Z","a".."z","_"'`
For CPAN author, What one-letter name can I use that's available? (Requires
<prog:setop> and <prog:cpanmodules> CLIs.)
% setop --diff <(perl -E'say for "A".."Z","a".."z","_"') <(cpanmodules ls-entries OneLetter)
_
entries => [
{module=>'B'},
{module=>'D'},
lib/Acme/CPANModules/OneLetter.pm view on Meta::CPAN
To produce this list, you can also use L<lcpan>:
% lcpan mods -l -x --or C<perl -E'say for "A".."Z","a".."z","_"'>
For CPAN author, What one-letter name can I use that's available? (Requires
L<setop> and L<cpanmodules> CLIs.)
% setop --diff <(perl -E'say for "A".."Z","a".."z","_"') <(cpanmodules ls-entries OneLetter)
=head1 ACME::CPANMODULES ENTRIES
=over
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
% perl -ML -E'$doc = Org::Parser::Tiny->new->parse_file("/home/budi/todo.org"); ...'
"Module autoloader" modules work using Perl's autoloading mechanism (read
`perlsub` for more details). By declaring a subroutine named `AUTOLOAD` in the
`UNIVERSAL` package, you setup a fallback mechanism when you call an undefined
subroutine. <pm:L>'s AUTOLOADER loads the module using <pm:Module::Load> then
try to invoke the undefined subroutine once again.
MARKDOWN
tags => ['module-loading'],
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
My preference when dumping data structure when debugging Perl application is,
well, Perl format (unlike some others which prefer custom format like
<pm:Data::Printer>). The DD-Dummy distribution provides <pm:DD> module, which in
turn exports `dd` to dump your data structures for debugging using
<pm:Data::Dump>. Another good alternative is <pm:XXX> which by default uses YAML
output but can be changed with this environment variable setting:
PERL_XXX_DUMPER=Data::Dump
MARKDOWN
alternate_modules => ['XXX', 'Data::Printer'],
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
% perl -ML -E'$doc = Org::Parser::Tiny->new->parse_file("/home/budi/todo.org"); ...'
"Module autoloader" modules work using Perl's autoloading mechanism (read
C<perlsub> for more details). By declaring a subroutine named C<AUTOLOAD> in the
C<UNIVERSAL> package, you setup a fallback mechanism when you call an undefined
subroutine. L<L>'s AUTOLOADER loads the module using L<Module::Load> then
try to invoke the undefined subroutine once again.
=item L<lib::xi>
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
My preference when dumping data structure when debugging Perl application is,
well, Perl format (unlike some others which prefer custom format like
L<Data::Printer>). The DD-Dummy distribution provides L<DD> module, which in
turn exports C<dd> to dump your data structures for debugging using
L<Data::Dump>. Another good alternative is L<XXX> which by default uses YAML
output but can be changed with this environment variable setting:
PERL_XXX_DUMPER=Data::Dump
Alternate modules: L<XXX>, L<Data::Printer>
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
module => 'Hash::Ordered',
bench_code => sub {
my ($op, $numkeys, $numrep) = @_;
my $hash = Hash::Ordered->new;
for (1..$numkeys) { $hash->set("key$_" => $_) }
if ($op eq 'delete') {
for (1..$numkeys) { $hash->delete("key$_") }
} elsif ($op eq 'keys') {
for (1..$numrep) { my @keys = $hash->keys }
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
}
},
},
],
bench_datasets => [
{name=>'insert 1000 pairs', argv => ['insert', 1000]},
{name=>'insert 1000 pairs + delete', argv => ['delete', 1000]},
{name=>'insert 1000 pairs + return keys 100 times', argv => ['keys', 1000, 100]},
{name=>'insert 1000 pairs + iterate 10 times', argv => ['iterate', 1000, 10], exclude_participant_tags => ['no_iterate']},
],
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
To run module startup overhead benchmark:
% bencher --module-startup --cpanmodules-module OrderedHash
For more options (dump scenario, list/include/exclude/add participants, list/include/exclude/add datasets, etc), see L<bencher> or run C<bencher --help>.
=head1 DESCRIPTION
When you ask a Perl's hash for the list of keys, the answer comes back
unordered. In fact, Perl explicitly randomizes the order of keys it returns
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
% bencher --cpanmodules-module OrderedHash
Result formatted as table (split, part 1 of 4):
#table1#
{dataset=>"insert 1000 pairs"}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::StoredOrderHash | 539 | 1.85 | 0.00% | 528.45% | 1.4e-06 | 22 |
| Tie::LLHash | 640 | 1.6 | 19.19% | 427.28% | 3.4e-06 | 20 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
Result formatted as table (split, part 2 of 4):
#table2#
{dataset=>"insert 1000 pairs + delete"}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::IxHash | 31 | 32 | 0.00% | 5838.76% | 4.8e-05 | 21 |
| Tie::StoredOrderHash | 310 | 3.3 | 875.00% | 509.10% | 8.6e-06 | 21 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
Result formatted as table (split, part 3 of 4):
#table3#
{dataset=>"insert 1000 pairs + iterate 10 times"}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::StoredOrderHash | 71 | 14 | 0.00% | 508.52% | 2e-05 | 20 |
| Tie::LLHash | 75.4 | 13.3 | 5.52% | 476.69% | 1.2e-05 | 24 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
Result formatted as table (split, part 4 of 4):
#table4#
{dataset=>"insert 1000 pairs + return keys 100 times"}
+----------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Tie::StoredOrderHash | 17 | 58 | 0.00% | 1439.14% | 6.1e-05 | 20 |
| Tie::LLHash | 20 | 50 | 16.39% | 1222.37% | 7.3e-05 | 20 |
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.005"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.005"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution