view release on metacpan or search on metacpan
lib/Acme/CPANModules/BloomFilters.pm view on Meta::CPAN
our $LIST = {
summary => "List of bloom filter modules on CPAN",
description => <<'_',
Bloom filter is a data structure that allows you to quickly check whether an
element is in a set. Compared to a regular hash, it is much more
memory-efficient. The downside is that bloom filter can give you false
positives, although false negatives are not possible. So in essence you can ask
a bloom filter which item is "possibly in set" or "definitely not in set". You
can configure the rate of false positives. The larger the filter, the smaller
the rate. Some examples for application of bloom filter include: 1) checking
whether a password is in a dictionary of millions of common/compromised
passwords; 2) checking an email address against leak database; 3) virus pattern
checking; 4) IP/domain blacklisting/whitelisting. Due to its properties, it is
sometimes combined with other data structures. For example, a small bloom filter
can be distributed with a software to check against a database. When the answer
from bloom filter is "possibly in set", the software can further consult on
online database to make sure if it is indeed in set. Thus, bloom filter can be
used to reduce the number of direct queries to database.
In Perl, my default go-to choice is <pm:Algorithm::BloomFilter>, unless there's
a specific feature I need from other implementations.
lib/Acme/CPANModules/BloomFilters.pm view on Meta::CPAN
This document describes version 0.004 of Acme::CPANModules::BloomFilters (from Perl distribution Acme-CPANModules-BloomFilters), released on 2022-03-18.
=head1 DESCRIPTION
Bloom filter is a data structure that allows you to quickly check whether an
element is in a set. Compared to a regular hash, it is much more
memory-efficient. The downside is that bloom filter can give you false
positives, although false negatives are not possible. So in essence you can ask
a bloom filter which item is "possibly in set" or "definitely not in set". You
can configure the rate of false positives. The larger the filter, the smaller
the rate. Some examples for application of bloom filter include: 1) checking
whether a password is in a dictionary of millions of common/compromised
passwords; 2) checking an email address against leak database; 3) virus pattern
checking; 4) IP/domain blacklisting/whitelisting. Due to its properties, it is
sometimes combined with other data structures. For example, a small bloom filter
can be distributed with a software to check against a database. When the answer
from bloom filter is "possibly in set", the software can further consult on
online database to make sure if it is indeed in set. Thus, bloom filter can be
used to reduce the number of direct queries to database.
In Perl, my default go-to choice is L<Algorithm::BloomFilter>, unless there's
a specific feature I need from other implementations.
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/BrowsingTableInteractively.pm view on Meta::CPAN
visualization features like XY-plots.
It has the concept of "sheets" like sheets in a spreadsheet workbook so anytime
you filter rows/columns or create summary or do some other derivation from your
data, you create a new sheet which you can edit, save, and destroy later as
needed and go back to your original table. It even presents settings and
metadata as sheets so you can edit them as a normal sheet.
It has plugins, and I guess it should be simple enough to create a plugin so you
can filter rows or add columns using Perl expression instead of the default
Python, if needed.
lib/Acme/CPANModules/BrowsingTableInteractively.pm view on Meta::CPAN
visualization features like XY-plots.
It has the concept of "sheets" like sheets in a spreadsheet workbook so anytime
you filter rows/columns or create summary or do some other derivation from your
data, you create a new sheet which you can edit, save, and destroy later as
needed and go back to your original table. It even presents settings and
metadata as sheets so you can edit them as a normal sheet.
It has plugins, and I guess it should be simple enough to create a plugin so you
can filter rows or add columns using Perl expression instead of the default
Python, if needed.
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/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
_
entries => [
# convert (ImageMagick)
{
summary => 'Simple wrappers for ImageMagick\'s convert to process multiple filenames and automatically set output filenames',
module => 'App::ImageMagickUtils',
script => ['convert-image-to', 'convert-image-to-pdf'],
'x.command' => 'convert',
},
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
'x.command' => ['diff', 'watch'],
},
# git
{
summary => 'Wraps git to do additional stuff, e.g. set user+email automatically',
module => 'App::gitwrap',
script => 'gitwrap',
'x.command' => 'git',
},
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
=head1 ACME::CPANMODULES ENTRIES
=over
=item * L<App::ImageMagickUtils> - Simple wrappers for ImageMagick's convert to process multiple filenames and automatically set output filenames
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Scripts: L<convert-image-to>, L<convert-image-to-pdf>
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
Author: L<UTASHIRO|https://metacpan.org/author/UTASHIRO>
Scripts: L<sdif>, L<cdif>, L<watchdiff>
=item * L<App::gitwrap> - Wraps git to do additional stuff, e.g. set user+email automatically
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Script: L<gitwrap>
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
lib/Acme/CPANModules/CalculatingDayOfWeek.pm view on Meta::CPAN
_
},
],
bench_datasets => [
{name=>'date1', args => {day=>20, month=>11, year=>2019}},
],
};
lib/Acme/CPANModules/CalculatingDayOfWeek.pm view on Meta::CPAN
To run module startup overhead benchmark:
% bencher --module-startup --cpanmodules-module CalculatingDayOfWeek
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 ACME::CPANMODULES ENTRIES
=over
lib/Acme/CPANModules/CalculatingDayOfWeek.pm view on Meta::CPAN
% bencher --cpanmodules-module CalculatingDayOfWeek
Result formatted as table:
#table1#
{dataset=>"date1"}
+----------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) | time (μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| DateTime | 37000 | 27 | 0.00% | 8030.29% | 3.8e-08 | 24 |
| Date::DayOfWeek::dayofweek | 562000 | 1.78 | 1415.39% | 436.51% | 3.8e-10 | 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.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
},
"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.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