NAME
Bencher::Scenario::Perl::Startup - Benchmark startup time of perls
VERSION
This document describes version 0.054 of Bencher::Scenario::Perl::Startup (from Perl distribution Bencher-Scenario-Perl-Startup), released on 2023-07-08.
SYNOPSIS
To run benchmark with default option:
% bencher -m Perl::Startup
For more options (dump scenario, list/include/exclude/add participants, list/include/exclude/add datasets, etc), see bencher or run bencher --help
.
DESCRIPTION
Conclusion: in general newer versions of perl has larger startup overhead than previous ones. If startup overhead is important to you, use -e
instead of -E
unless necessary.
BENCHMARK PARTICIPANTS
perl-5.38.0 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.38.0/bin/perl -e1
perl-5.38.0 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.38.0/bin/perl -E1
perl-5.36.1 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.36.1/bin/perl -e1
perl-5.36.1 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.36.1/bin/perl -E1
perl-5.34.1 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.34.1/bin/perl -e1
perl-5.34.1 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.34.1/bin/perl -E1
perl-5.34.0 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.34.0/bin/perl -e1
perl-5.34.0 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.34.0/bin/perl -E1
perl-5.32.1 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.32.1/bin/perl -e1
perl-5.32.1 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.32.1/bin/perl -E1
perl-5.30.3 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.30.3/bin/perl -e1
perl-5.30.3 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.30.3/bin/perl -E1
perl-5.28.3 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.28.3/bin/perl -e1
perl-5.28.3 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.28.3/bin/perl -E1
perl-5.26.3 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.26.3/bin/perl -e1
perl-5.26.3 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.26.3/bin/perl -E1
perl-5.24.4 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.24.4/bin/perl -e1
perl-5.24.4 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.24.4/bin/perl -E1
perl-5.20.3 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.20.3/bin/perl -e1
perl-5.20.3 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.20.3/bin/perl -E1
perl-5.18.4 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.18.4/bin/perl -e1
perl-5.18.4 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.18.4/bin/perl -E1
perl-5.16.3 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.16.3/bin/perl -e1
perl-5.16.3 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.16.3/bin/perl -E1
perl-5.14.4 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.14.4/bin/perl -e1
perl-5.14.4 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.14.4/bin/perl -E1
perl-5.12.5 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.12.5/bin/perl -e1
perl-5.12.5 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.12.5/bin/perl -E1
perl-5.10.1 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.10.1/bin/perl -e1
perl-5.10.1 -E1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.10.1/bin/perl -E1
perl-5.8.9 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.8.9/bin/perl -e1
perl-5.6.2 -e1 (command)
Command line:
/home/u1/perl5/perlbrew/perls/perl-5.6.2/bin/perl -e1
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 Perl::Startup
):
#table1#
+-----------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-----------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| perl-5.38.0 -E1 | 143 | 7.01 | 0.00% | 26.34% | 3.5e-06 | 21 |
| perl-5.36.1 -E1 | 143 | 7.01 | 0.04% | 26.29% | 2.9e-06 | 20 |
| perl-5.34.0 -E1 | 149 | 6.73 | 4.16% | 21.29% | 3.3e-06 | 23 |
| perl-5.32.1 -E1 | 149 | 6.73 | 4.20% | 21.25% | 3e-06 | 20 |
| perl-5.34.1 -E1 | 149 | 6.72 | 4.30% | 21.13% | 4.6e-06 | 21 |
| perl-5.30.3 -E1 | 150 | 6.68 | 5.02% | 20.30% | 3.1e-06 | 20 |
| perl-5.24.4 -E1 | 152 | 6.59 | 6.43% | 18.71% | 3.4e-06 | 20 |
| perl-5.28.3 -E1 | 152 | 6.58 | 6.59% | 18.53% | 3.8e-06 | 20 |
| perl-5.26.3 -E1 | 154 | 6.5 | 7.89% | 17.10% | 2e-06 | 21 |
| perl-5.20.3 -E1 | 157 | 6.38 | 9.89% | 14.97% | 2.2e-06 | 20 |
| perl-5.18.4 -E1 | 159 | 6.27 | 11.78% | 13.03% | 3.1e-06 | 20 |
| perl-5.16.3 -E1 | 160 | 6.24 | 12.43% | 12.37% | 4e-06 | 23 |
| perl-5.12.5 -E1 | 163 | 6.13 | 14.37% | 10.47% | 5.2e-06 | 20 |
| perl-5.14.4 -E1 | 164 | 6.11 | 14.69% | 10.16% | 5.1e-06 | 20 |
| perl-5.10.1 -E1 | 166 | 6.02 | 16.53% | 8.42% | 3.9e-06 | 21 |
| perl-5.32.1 -e1 | 166 | 6.01 | 16.63% | 8.33% | 4.1e-06 | 22 |
| perl-5.30.3 -e1 | 170 | 6 | 16.69% | 8.27% | 1e-05 | 20 |
| perl-5.34.1 -e1 | 170 | 6 | 16.83% | 8.14% | 6.3e-06 | 20 |
| perl-5.36.1 -e1 | 167 | 5.99 | 16.95% | 8.03% | 3.1e-06 | 21 |
| perl-5.38.0 -e1 | 167 | 5.98 | 17.22% | 7.78% | 4.2e-06 | 20 |
| perl-5.34.0 -e1 | 167 | 5.97 | 17.41% | 7.61% | 4e-06 | 20 |
| perl-5.28.3 -e1 | 170 | 5.9 | 18.23% | 6.86% | 7.2e-06 | 21 |
| perl-5.20.3 -e1 | 169 | 5.92 | 18.39% | 6.71% | 5.3e-06 | 20 |
| perl-5.26.3 -e1 | 170 | 5.9 | 19.02% | 6.15% | 1e-05 | 20 |
| perl-5.24.4 -e1 | 170 | 5.9 | 19.08% | 6.10% | 1.5e-05 | 20 |
| perl-5.18.4 -e1 | 172 | 5.82 | 20.55% | 4.80% | 4.1e-06 | 20 |
| perl-5.12.5 -e1 | 170 | 5.8 | 21.35% | 4.11% | 1e-05 | 21 |
| perl-5.14.4 -e1 | 173 | 5.77 | 21.42% | 4.05% | 4.7e-06 | 20 |
| perl-5.16.3 -e1 | 170 | 5.8 | 21.47% | 4.01% | 8.3e-06 | 20 |
| perl-5.10.1 -e1 | 180 | 5.7 | 22.72% | 2.95% | 6.2e-06 | 20 |
| perl-5.8.9 -e1 | 180 | 5.7 | 23.96% | 1.92% | 9.6e-06 | 20 |
| perl-5.6.2 -e1 | 180 | 5.5 | 26.34% | 0.00% | 9.1e-06 | 20 |
+-----------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
Formatted as Benchmark.pm result:
Rate perl-5.38.0 -E1 perl-5.36.1 -E1 perl-5.34.0 -E1 perl-5.32.1 -E1 perl-5.34.1 -E1 perl-5.30.3 -E1 perl-5.24.4 -E1 perl-5.28.3 -E1 perl-5.26.3 -E1 perl-5.20.3 -E1 perl-5.18.4 -E1 perl-5.16.3 -E1 perl-5.12.5 -E1 perl-5.14.4 -E1 perl-5.10.1 -E1 perl-5.32.1 -e1 perl-5.30.3 -e1 perl-5.34.1 -e1 perl-5.36.1 -e1 perl-5.38.0 -e1 perl-5.34.0 -e1 perl-5.20.3 -e1 perl-5.28.3 -e1 perl-5.26.3 -e1 perl-5.24.4 -e1 perl-5.18.4 -e1 perl-5.12.5 -e1 perl-5.16.3 -e1 perl-5.14.4 -e1 perl-5.10.1 -e1 perl-5.8.9 -e1 perl-5.6.2 -e1
perl-5.38.0 -E1 143/s -- 0% -3% -3% -4% -4% -5% -6% -7% -8% -10% -10% -12% -12% -14% -14% -14% -14% -14% -14% -14% -15% -15% -15% -15% -16% -17% -17% -17% -18% -18% -21%
perl-5.36.1 -E1 143/s 0% -- -3% -3% -4% -4% -5% -6% -7% -8% -10% -10% -12% -12% -14% -14% -14% -14% -14% -14% -14% -15% -15% -15% -15% -16% -17% -17% -17% -18% -18% -21%
perl-5.34.0 -E1 149/s 4% 4% -- 0% 0% 0% -2% -2% -3% -5% -6% -7% -8% -9% -10% -10% -10% -10% -10% -11% -11% -12% -12% -12% -12% -13% -13% -13% -14% -15% -15% -18%
perl-5.32.1 -E1 149/s 4% 4% 0% -- 0% 0% -2% -2% -3% -5% -6% -7% -8% -9% -10% -10% -10% -10% -10% -11% -11% -12% -12% -12% -12% -13% -13% -13% -14% -15% -15% -18%
perl-5.34.1 -E1 149/s 4% 4% 0% 0% -- 0% -1% -2% -3% -5% -6% -7% -8% -9% -10% -10% -10% -10% -10% -11% -11% -11% -12% -12% -12% -13% -13% -13% -14% -15% -15% -18%
perl-5.30.3 -E1 150/s 4% 4% 0% 0% 0% -- -1% -1% -2% -4% -6% -6% -8% -8% -9% -10% -10% -10% -10% -10% -10% -11% -11% -11% -11% -12% -13% -13% -13% -14% -14% -17%
perl-5.24.4 -E1 152/s 6% 6% 2% 2% 1% 1% -- 0% -1% -3% -4% -5% -6% -7% -8% -8% -8% -8% -9% -9% -9% -10% -10% -10% -10% -11% -11% -11% -12% -13% -13% -16%
perl-5.28.3 -E1 152/s 6% 6% 2% 2% 2% 1% 0% -- -1% -3% -4% -5% -6% -7% -8% -8% -8% -8% -8% -9% -9% -10% -10% -10% -10% -11% -11% -11% -12% -13% -13% -16%
perl-5.26.3 -E1 154/s 7% 7% 3% 3% 3% 2% 1% 1% -- -1% -3% -3% -5% -5% -7% -7% -7% -7% -7% -7% -8% -8% -9% -9% -9% -10% -10% -10% -11% -12% -12% -15%
perl-5.20.3 -E1 157/s 9% 9% 5% 5% 5% 4% 3% 3% 1% -- -1% -2% -3% -4% -5% -5% -5% -5% -6% -6% -6% -7% -7% -7% -7% -8% -9% -9% -9% -10% -10% -13%
perl-5.18.4 -E1 159/s 11% 11% 7% 7% 7% 6% 5% 4% 3% 1% -- 0% -2% -2% -3% -4% -4% -4% -4% -4% -4% -5% -5% -5% -5% -7% -7% -7% -7% -9% -9% -12%
perl-5.16.3 -E1 160/s 12% 12% 7% 7% 7% 7% 5% 5% 4% 2% 0% -- -1% -2% -3% -3% -3% -3% -4% -4% -4% -5% -5% -5% -5% -6% -7% -7% -7% -8% -8% -11%
perl-5.12.5 -E1 163/s 14% 14% 9% 9% 9% 8% 7% 7% 6% 4% 2% 1% -- 0% -1% -1% -2% -2% -2% -2% -2% -3% -3% -3% -3% -5% -5% -5% -5% -7% -7% -10%
perl-5.14.4 -E1 164/s 14% 14% 10% 10% 9% 9% 7% 7% 6% 4% 2% 2% 0% -- -1% -1% -1% -1% -1% -2% -2% -3% -3% -3% -3% -4% -5% -5% -5% -6% -6% -9%
perl-5.10.1 -E1 166/s 16% 16% 11% 11% 11% 10% 9% 9% 7% 5% 4% 3% 1% 1% -- 0% 0% 0% 0% 0% 0% -1% -1% -1% -1% -3% -3% -3% -4% -5% -5% -8%
perl-5.32.1 -e1 166/s 16% 16% 11% 11% 11% 11% 9% 9% 8% 6% 4% 3% 1% 1% 0% -- 0% 0% 0% 0% 0% -1% -1% -1% -1% -3% -3% -3% -3% -5% -5% -8%
perl-5.30.3 -e1 170/s 16% 16% 12% 12% 11% 11% 9% 9% 8% 6% 4% 4% 2% 1% 0% 0% -- 0% 0% 0% 0% -1% -1% -1% -1% -2% -3% -3% -3% -4% -4% -8%
perl-5.34.1 -e1 170/s 16% 16% 12% 12% 11% 11% 9% 9% 8% 6% 4% 4% 2% 1% 0% 0% 0% -- 0% 0% 0% -1% -1% -1% -1% -2% -3% -3% -3% -4% -4% -8%
perl-5.36.1 -e1 167/s 17% 17% 12% 12% 12% 11% 10% 9% 8% 6% 4% 4% 2% 2% 0% 0% 0% 0% -- 0% 0% -1% -1% -1% -1% -2% -3% -3% -3% -4% -4% -8%
perl-5.38.0 -e1 167/s 17% 17% 12% 12% 12% 11% 10% 10% 8% 6% 4% 4% 2% 2% 0% 0% 0% 0% 0% -- 0% -1% -1% -1% -1% -2% -3% -3% -3% -4% -4% -8%
perl-5.34.0 -e1 167/s 17% 17% 12% 12% 12% 11% 10% 10% 8% 6% 5% 4% 2% 2% 0% 0% 0% 0% 0% 0% -- 0% -1% -1% -1% -2% -2% -2% -3% -4% -4% -7%
perl-5.20.3 -e1 169/s 18% 18% 13% 13% 13% 12% 11% 11% 9% 7% 5% 5% 3% 3% 1% 1% 1% 1% 1% 1% 0% -- 0% 0% 0% -1% -2% -2% -2% -3% -3% -7%
perl-5.28.3 -e1 170/s 18% 18% 14% 14% 13% 13% 11% 11% 10% 8% 6% 5% 3% 3% 2% 1% 1% 1% 1% 1% 1% 0% -- 0% 0% -1% -1% -1% -2% -3% -3% -6%
perl-5.26.3 -e1 170/s 18% 18% 14% 14% 13% 13% 11% 11% 10% 8% 6% 5% 3% 3% 2% 1% 1% 1% 1% 1% 1% 0% 0% -- 0% -1% -1% -1% -2% -3% -3% -6%
perl-5.24.4 -e1 170/s 18% 18% 14% 14% 13% 13% 11% 11% 10% 8% 6% 5% 3% 3% 2% 1% 1% 1% 1% 1% 1% 0% 0% 0% -- -1% -1% -1% -2% -3% -3% -6%
perl-5.18.4 -e1 172/s 20% 20% 15% 15% 15% 14% 13% 13% 11% 9% 7% 7% 5% 4% 3% 3% 3% 3% 2% 2% 2% 1% 1% 1% 1% -- 0% 0% 0% -2% -2% -5%
perl-5.12.5 -e1 170/s 20% 20% 16% 16% 15% 15% 13% 13% 12% 10% 8% 7% 5% 5% 3% 3% 3% 3% 3% 3% 2% 2% 1% 1% 1% 0% -- 0% 0% -1% -1% -5%
perl-5.16.3 -e1 170/s 20% 20% 16% 16% 15% 15% 13% 13% 12% 10% 8% 7% 5% 5% 3% 3% 3% 3% 3% 3% 2% 2% 1% 1% 1% 0% 0% -- 0% -1% -1% -5%
perl-5.14.4 -e1 173/s 21% 21% 16% 16% 16% 15% 14% 14% 12% 10% 8% 8% 6% 5% 4% 4% 3% 3% 3% 3% 3% 2% 2% 2% 2% 0% 0% 0% -- -1% -1% -4%
perl-5.10.1 -e1 180/s 22% 22% 18% 18% 17% 17% 15% 15% 14% 11% 9% 9% 7% 7% 5% 5% 5% 5% 5% 4% 4% 3% 3% 3% 3% 2% 1% 1% 1% -- 0% -3%
perl-5.8.9 -e1 180/s 22% 22% 18% 18% 17% 17% 15% 15% 14% 11% 9% 9% 7% 7% 5% 5% 5% 5% 5% 4% 4% 3% 3% 3% 3% 2% 1% 1% 1% 0% -- -3%
perl-5.6.2 -e1 180/s 27% 27% 22% 22% 22% 21% 19% 19% 18% 15% 13% 13% 11% 11% 9% 9% 9% 9% 8% 8% 8% 7% 7% 7% 7% 5% 5% 5% 4% 3% 3% --
Legends:
perl-5.10.1 -E1: participant=perl-5.10.1 -E1
perl-5.10.1 -e1: participant=perl-5.10.1 -e1
perl-5.12.5 -E1: participant=perl-5.12.5 -E1
perl-5.12.5 -e1: participant=perl-5.12.5 -e1
perl-5.14.4 -E1: participant=perl-5.14.4 -E1
perl-5.14.4 -e1: participant=perl-5.14.4 -e1
perl-5.16.3 -E1: participant=perl-5.16.3 -E1
perl-5.16.3 -e1: participant=perl-5.16.3 -e1
perl-5.18.4 -E1: participant=perl-5.18.4 -E1
perl-5.18.4 -e1: participant=perl-5.18.4 -e1
perl-5.20.3 -E1: participant=perl-5.20.3 -E1
perl-5.20.3 -e1: participant=perl-5.20.3 -e1
perl-5.24.4 -E1: participant=perl-5.24.4 -E1
perl-5.24.4 -e1: participant=perl-5.24.4 -e1
perl-5.26.3 -E1: participant=perl-5.26.3 -E1
perl-5.26.3 -e1: participant=perl-5.26.3 -e1
perl-5.28.3 -E1: participant=perl-5.28.3 -E1
perl-5.28.3 -e1: participant=perl-5.28.3 -e1
perl-5.30.3 -E1: participant=perl-5.30.3 -E1
perl-5.30.3 -e1: participant=perl-5.30.3 -e1
perl-5.32.1 -E1: participant=perl-5.32.1 -E1
perl-5.32.1 -e1: participant=perl-5.32.1 -e1
perl-5.34.0 -E1: participant=perl-5.34.0 -E1
perl-5.34.0 -e1: participant=perl-5.34.0 -e1
perl-5.34.1 -E1: participant=perl-5.34.1 -E1
perl-5.34.1 -e1: participant=perl-5.34.1 -e1
perl-5.36.1 -E1: participant=perl-5.36.1 -E1
perl-5.36.1 -e1: participant=perl-5.36.1 -e1
perl-5.38.0 -E1: participant=perl-5.38.0 -E1
perl-5.38.0 -e1: participant=perl-5.38.0 -e1
perl-5.6.2 -e1: participant=perl-5.6.2 -e1
perl-5.8.9 -e1: participant=perl-5.8.9 -e1
To display as an interactive HTML table on a browser, you can add option --format html+datatables
.
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Bencher-Scenario-Perl-Startup.
SOURCE
Source repository is at https://github.com/perlancar/perl-Bencher-Scenario-Perl-Startup.
SEE ALSO
Bencher::Scenario::Interpreters
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, 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.
COPYRIGHT AND LICENSE
This software is copyright (c) 2023, 2021 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-Perl-Startup
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.