Bencher::Scenario::String::PodQuote - Benchmark String::PodQuote
This document describes version 0.002 of Bencher::Scenario::String::PodQuote (from Perl distribution Bencher-Scenario-String-PodQuote), released on 2023-01-17.
To run benchmark with default option:
% bencher -m String::PodQuote
To run module startup overhead benchmark:
% bencher --module-startup -m String::PodQuote
For more options (dump scenario, list/include/exclude/add participants, list/include/exclude/add datasets, etc), see bencher or run bencher --help.
bencher --help
Packaging a benchmark script as a Bencher scenario makes it convenient to include/exclude/add participants/datasets (either via CLI or Perl code), send the result to a central repository, among others . See Bencher and bencher (CLI) for more details.
Version numbers shown below are the versions used when running the sample benchmark.
String::PodQuote 0.003
String::PodQuote::pod_escape (perl_code)
Function call template:
String::PodQuote::pod_escape(<text>)
short
long
Run on: perl: v5.34.0, CPU: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (2 cores), OS: GNU/Linux Ubuntu version 20.04, OS kernel: Linux version 5.4.0-91-generic.
Benchmark with bencher -m String::PodQuote --env-hashes-json '[{"PERL5OPT":"-Iarchive/String-PodQuote-0.002/lib"},{"PERL5OPT":"-Iarchive/String-PodQuote-0.003/lib"}]':
bencher -m String::PodQuote --env-hashes-json '[{"PERL5OPT":"-Iarchive/String-PodQuote-0.002/lib"},{"PERL5OPT":"-Iarchive/String-PodQuote-0.003/lib"}]'
#table1# +---------+----------------------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+ | dataset | env | rate (/s) | time (μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples | +---------+----------------------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+ | long | PERL5OPT=-Iarchive/String-PodQuote-0.003/lib | 34300 | 29.1 | 0.00% | 379.70% | 1.3e-08 | 21 | | long | PERL5OPT=-Iarchive/String-PodQuote-0.002/lib | 34400 | 29.1 | 0.18% | 378.86% | 1.2e-08 | 26 | | short | PERL5OPT=-Iarchive/String-PodQuote-0.002/lib | 160000 | 6.1 | 376.81% | 0.61% | 1.3e-08 | 20 | | short | PERL5OPT=-Iarchive/String-PodQuote-0.003/lib | 160000 | 6.1 | 379.70% | 0.00% | 6.7e-09 | 20 | +---------+----------------------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
Formatted as Benchmark.pm result:
Rate long long short short long 34300/s -- 0% -79% -79% long 34400/s 0% -- -79% -79% short 160000/s 377% 377% -- 0% short 160000/s 377% 377% 0% -- Legends: long: dataset=long env=PERL5OPT=-Iarchive/String-PodQuote-0.002/lib short: dataset=short env=PERL5OPT=-Iarchive/String-PodQuote-0.003/lib
Benchmark module startup overhead (bencher -m String::PodQuote --module-startup):
bencher -m String::PodQuote --module-startup
#table2# +---------------------+----------------------------------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+ | participant | env | time (ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples | +---------------------+----------------------------------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+ | String::PodQuote | PERL5OPT=-Iarchive/String-PodQuote-0.003/lib | 9.5 | 2.8 | 0.00% | 49.00% | 6.5e-05 | 20 | | String::PodQuote | PERL5OPT=-Iarchive/String-PodQuote-0.002/lib | 9.3 | 2.6 | 2.64% | 45.17% | 4.9e-05 | 20 | | perl -e1 (baseline) | PERL5OPT=-Iarchive/String-PodQuote-0.003/lib | 6.7 | 0 | 41.93% | 4.98% | 4.5e-05 | 21 | | perl -e1 (baseline) | PERL5OPT=-Iarchive/String-PodQuote-0.002/lib | 6.4 | -0.3 | 49.00% | 0.00% | 2.1e-05 | 21 | +---------------------+----------------------------------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
Rate String::PodQuote String::PodQuote perl -e1 (baseline) perl -e1 (baseline) String::PodQuote 105.3/s -- -2% -29% -32% String::PodQuote 107.5/s 2% -- -27% -31% perl -e1 (baseline) 149.3/s 41% 38% -- -4% perl -e1 (baseline) 156.2/s 48% 45% 4% -- Legends: String::PodQuote: env=PERL5OPT=-Iarchive/String-PodQuote-0.002/lib mod_overhead_time=2.6 participant=String::PodQuote perl -e1 (baseline): env=PERL5OPT=-Iarchive/String-PodQuote-0.002/lib mod_overhead_time=-0.3 participant=perl -e1 (baseline)
To display as an interactive HTML table on a browser, you can add option --format html+datatables.
--format html+datatables
Please visit the project's homepage at https://metacpan.org/release/Bencher-Scenario-String-PodQuote.
Source repository is at https://github.com/perlancar/perl-Bencher-Scenario-StringPodQuote.
perlancar <perlancar@cpan.org>
To contribute, you can send patches by email/via RT, or send pull requests on GitHub.
Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me.
This software is copyright (c) 2023, 2019 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Bencher-Scenario-String-PodQuote
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
To install Bencher::Scenario::String::PodQuote, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bencher::Scenario::String::PodQuote
CPAN shell
perl -MCPAN -e shell install Bencher::Scenario::String::PodQuote
For more information on module installation, please visit the detailed CPAN module installation guide.