Bencher-ScenarioBundle-Log-ger
view release on metacpan or search on metacpan
lib/Bencher/Scenario/Log/ger/NullOutput.pm view on Meta::CPAN
#TEMPLATE: #perl -MMojo::Log -e $log = Mojo::Log->new(level=>"warn"); for(1..100_000) { $log->debug("") }
=item * XLog-100k_debug (command)
Command line:
#TEMPLATE: #perl -MXLog -e for(1..100_000) { XLog::debug("") }
=back
=head1 BENCHMARK SAMPLE RESULTS
=head2 Sample benchmark #1
Run on: perl: I<< v5.38.2 >>, CPU: I<< Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (2 cores) >>, OS: I<< GNU/Linux Ubuntu version 20.04 >>, OS kernel: I<< Linux version 5.4.0-164-generic >>.
Benchmark command (default options):
% bencher -m Log::ger::NullOutput
Result formatted as table:
#table1#
+------------------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+------------------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Log::Dispatch::Null-100k_debug | 1.9 | 520 | 0.00% | 3984.92% | 0.0018 | 6 |
| Log::Contextual+Log4perl-100k_trace | 2.2 | 460 | 12.02% | 3546.51% | 0.0013 | 6 |
| Log::Contextual+SimpleLogger-100k_trace | 2.2 | 440 | 15.99% | 3421.69% | 0.0018 | 6 |
| Mojo::Log-100k_debug | 5.54 | 181 | 185.56% | 1330.48% | 0.00015 | 6 |
| Log::Dispatchouli-100k_debug | 5.97 | 168 | 207.90% | 1226.72% | 0.00016 | 6 |
| Log::Log4perl::Tiny-100k_trace | 9.74 | 103 | 402.66% | 712.66% | 5.2e-05 | 6 |
| Log::Fast-100k_is_debug | 15.5 | 64.4 | 700.84% | 410.08% | 5e-05 | 6 |
| Log::Any-null_adapter-100k_log_trace | 16 | 63 | 717.02% | 399.98% | 8.5e-05 | 6 |
| Log::Log4perl-easy-100k_trace | 17.8 | 56.2 | 817.79% | 345.08% | 3e-05 | 6 |
| Log::Any-no_adapter-100k_is_trace | 23 | 44 | 1085.67% | 244.52% | 6.3e-05 | 6 |
| Log::Any-null_adapter-100k_is_trace | 23 | 43.4 | 1088.31% | 243.76% | 3.9e-05 | 6 |
| Log::Fast-100k_DEBUG | 25.7 | 38.9 | 1225.64% | 208.15% | 1.1e-05 | 6 |
| XLog-100k_debug | 35 | 28 | 1720.58% | 124.37% | 3.1e-05 | 6 |
| Log::Any-no_adapter-100k_log_trace | 41.1 | 24.3 | 2021.80% | 92.52% | 5e-06 | 6 |
| Log::ger+LGP:OptAway-100k_log_trace | 44 | 23 | 2166.65% | 80.22% | 2.5e-05 | 6 |
| Log::ger+LGF:MutilevelLog-100k_log_trace | 49 | 21 | 2410.91% | 62.69% | 4.3e-05 | 6 |
| Log::ger+LGP:MutilevelLog-100k_log_6 | 49 | 20 | 2423.68% | 61.86% | 3.2e-05 | 6 |
| Log::ger-100k_log_trace | 75.4 | 13.3 | 3789.52% | 5.02% | 5.2e-06 | 6 |
| Log::ger-100k_log_is_trace | 79.2 | 12.6 | 3984.92% | 0.00% | 2.9e-06 | 6 |
+------------------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
The above result formatted in L<Benchmark.pm|Benchmark> style:
Rate Log::Dispatch::Null-100k_debug Log::Contextual+Log4perl-100k_trace Log::Contextual+SimpleLogger-100k_trace Mojo::Log-100k_debug Log::Dispatchouli-100k_debug Log::Log4perl::Tiny-100k_trace Log:...
Log::Dispatch::Null-100k_debug 1.9/s -- -11% -15% -65% -67% -80% ...
Log::Contextual+Log4perl-100k_trace 2.2/s 13% -- -4% -60% -63% -77% ...
Log::Contextual+SimpleLogger-100k_trace 2.2/s 18% 4% -- -58% -61% -76% ...
Mojo::Log-100k_debug 5.54/s 187% 154% 143% -- -7% -43% ...
Log::Dispatchouli-100k_debug 5.97/s 209% 173% 161% 7% -- -38% ...
Log::Log4perl::Tiny-100k_trace 9.74/s 404% 346% 327% 75% 63% -- ...
Log::Fast-100k_is_debug 15.5/s 707% 614% 583% 181% 160% 59% ...
Log::Any-null_adapter-100k_log_trace 16/s 725% 630% 598% 187% 166% 63% ...
Log::Log4perl-easy-100k_trace 17.8/s 825% 718% 682% 222% 198% 83% ...
Log::Any-no_adapter-100k_is_trace 23/s 1081% 945% 900% 311% 281% 134% ...
Log::Any-null_adapter-100k_is_trace 23/s 1098% 959% 913% 317% 287% 137% ...
Log::Fast-100k_DEBUG 25.7/s 1236% 1082% 1031% 365% 331% 164% ...
XLog-100k_debug 35/s 1757% 1542% 1471% 546% 500% 267% ...
Log::Any-no_adapter-100k_log_trace 41.1/s 2039% 1793% 1710% 644% 591% 323% ...
Log::ger+LGP:OptAway-100k_log_trace 44/s 2160% 1900% 1813% 686% 630% 347% ...
Log::ger+LGF:MutilevelLog-100k_log_trace 49/s 2376% 2090% 1995% 761% 700% 390% ...
Log::ger+LGP:MutilevelLog-100k_log_6 49/s 2500% 2200% 2100% 805% 740% 415% ...
Log::ger-100k_log_trace 75.4/s 3809% 3358% 3208% 1260% 1163% 674% ...
Log::ger-100k_log_is_trace 79.2/s 4026% 3550% 3392% 1336% 1233% 717% ...
Legends:
Log::Any-no_adapter-100k_is_trace: participant=Log::Any-no_adapter-100k_is_trace
Log::Any-no_adapter-100k_log_trace: participant=Log::Any-no_adapter-100k_log_trace
Log::Any-null_adapter-100k_is_trace: participant=Log::Any-null_adapter-100k_is_trace
Log::Any-null_adapter-100k_log_trace: participant=Log::Any-null_adapter-100k_log_trace
Log::Contextual+Log4perl-100k_trace: participant=Log::Contextual+Log4perl-100k_trace
Log::Contextual+SimpleLogger-100k_trace: participant=Log::Contextual+SimpleLogger-100k_trace
Log::Dispatch::Null-100k_debug: participant=Log::Dispatch::Null-100k_debug
Log::Dispatchouli-100k_debug: participant=Log::Dispatchouli-100k_debug
Log::Fast-100k_DEBUG: participant=Log::Fast-100k_DEBUG
Log::Fast-100k_is_debug: participant=Log::Fast-100k_is_debug
Log::Log4perl-easy-100k_trace: participant=Log::Log4perl-easy-100k_trace
Log::Log4perl::Tiny-100k_trace: participant=Log::Log4perl::Tiny-100k_trace
Log::ger+LGF:MutilevelLog-100k_log_trace: participant=Log::ger+LGF:MutilevelLog-100k_log_trace
Log::ger+LGP:MutilevelLog-100k_log_6: participant=Log::ger+LGP:MutilevelLog-100k_log_6
Log::ger+LGP:OptAway-100k_log_trace: participant=Log::ger+LGP:OptAway-100k_log_trace
Log::ger-100k_log_is_trace: participant=Log::ger-100k_log_is_trace
Log::ger-100k_log_trace: participant=Log::ger-100k_log_trace
Mojo::Log-100k_debug: participant=Mojo::Log-100k_debug
XLog-100k_debug: participant=XLog-100k_debug
To display as an interactive HTML table on a browser, you can add option C<--format html+datatables>.
=head1 BENCHMARK NOTES
Not included here:
=over
=item * L<Log::Tiny>
Cannot do null output, must log to a file. (Technically you can use F</dev/null>, but.)
=back
=head1 HOMEPAGE
Please visit the project's homepage at L<https://metacpan.org/release/Bencher-ScenarioBundle-Log-ger>.
=head1 SOURCE
Source repository is at L<https://github.com/perlancar/perl-Bencher-ScenarioBundle-Log-ger>.
=head1 AUTHOR
perlancar <perlancar@cpan.org>
( run in 2.291 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )