NAME
    Bencher::Scenario::Digest::SHA1 - Benchmark Digest::SHA1 against
    Digest::SHA

VERSION
    This document describes version 0.004 of Bencher::Scenario::Digest::SHA1
    (from Perl distribution Bencher-Scenario-Digest-SHA1), released on
    2022-03-19.

SYNOPSIS
    To run benchmark with default option:

     % bencher -m Digest::SHA1

    To run module startup overhead benchmark:

     % bencher --module-startup -m Digest::SHA1

    For more options (dump scenario, list/include/exclude/add participants,
    list/include/exclude/add datasets, etc), see bencher or run "bencher
    --help".

DESCRIPTION
    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.

BENCHMARKED MODULES
    Version numbers shown below are the versions used when running the
    sample benchmark.

    Digest::SHA1 2.13

    Digest::SHA 6.02

BENCHMARK PARTICIPANTS
    *   Digest::SHA1 (perl_code)

        Code template:

         my $ctx = Digest::SHA1->new; open my $fh, "<", <filename>; $ctx->addfile($fh); $ctx->hexdigest

    *   Digest::SHA (perl_code)

        Code template:

         my $ctx = Digest::SHA->new(1); open my $fh, "<", <filename>; $ctx->addfile($fh); $ctx->hexdigest

BENCHMARK DATASETS
    *   30M_file

SAMPLE BENCHMARK RESULTS
    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 default options ("bencher -m Digest::SHA1"):

     #table1#
     +--------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | participant  | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
     +--------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | Digest::SHA1 |       7.3 |       140 |                 0.00% |                87.55% |   0.00018 |       6 |
     | Digest::SHA  |      14   |        73 |                87.55% |                 0.00% | 9.6e-05   |       6 |
     +--------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

    Formatted as Benchmark.pm result:

                     Rate  Digest::SHA1  Digest::SHA 
      Digest::SHA1  7.3/s            --         -47% 
      Digest::SHA    14/s           91%           -- 
 
     Legends:
       Digest::SHA: participant=Digest::SHA
       Digest::SHA1: participant=Digest::SHA1

    Benchmark module startup overhead ("bencher -m Digest::SHA1
    --module-startup"):

     #table2#
     +---------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
     | participant         | time (ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
     +---------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
     | Digest::SHA         |      11   |               4.9 |                 0.00% |                85.09% | 1.2e-05 |       6 |
     | Digest::SHA1        |      10.9 |               4.8 |                 3.65% |                78.57% | 6.1e-06 |       6 |
     | perl -e1 (baseline) |       6.1 |               0   |                85.09% |                 0.00% | 6.1e-06 |       6 |
     +---------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+

    Formatted as Benchmark.pm result:

                              Rate  Digest::SHA  Digest::SHA1  perl -e1 (baseline) 
      Digest::SHA           90.9/s           --            0%                 -44% 
      Digest::SHA1          91.7/s           0%            --                 -44% 
      perl -e1 (baseline)  163.9/s          80%           78%                   -- 
 
     Legends:
       Digest::SHA: mod_overhead_time=4.9 participant=Digest::SHA
       Digest::SHA1: mod_overhead_time=4.8 participant=Digest::SHA1
       perl -e1 (baseline): mod_overhead_time=0 participant=perl -e1 (baseline)

    To display as an interactive HTML table on a browser, you can add option
    "--format html+datatables".

BENCHMARK NOTES
    Digest::SHA is faster than Digest::SHA1, so in general there is no
    reason to use Digest::SHA1 over Digest::SHA (core module, more
    up-to-date, support more algorithms).

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Bencher-Scenario-Digest-SHA1>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Bencher-Scenario-Digest-SHA1>.

SEE ALSO
    See Bencher::Scenarios::DigestSHA for more SHA-related benchmarks.

AUTHOR
    perlancar <perlancar@cpan.org>

CONTRIBUTING
    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, and sometimes one or two
    other Dist::Zilla plugin and/or Pod::Weaver::Plugin. Any additional
    steps required beyond that are considered a bug and can be reported to
    me.

COPYRIGHT AND LICENSE
    This software is copyright (c) 2022, 2017 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.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Bencher-Scenario-Dige
    st-SHA1>

    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.

