bench: Cache benchmark results + better re-run filtering
This commit is contained in:
parent
12326ca8e4
commit
3ae9347ad2
3 changed files with 174 additions and 82 deletions
|
|
@ -4,28 +4,35 @@ FU::Benchmarks - A bunch of automated benchmark results.
|
|||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This file is automatically generated from 'bench.pl' in the L<FU> distribution.
|
||||
This file is automatically generated from 'bench.PL' in the L<FU> distribution.
|
||||
These benchmarks compare performance of some FU functionality against similar
|
||||
modules found on CPAN.
|
||||
|
||||
=head1 CONTEXT
|
||||
B<DISCLAIMER#1:> Obtaining accurate measurements is notoriously hard. Take the
|
||||
numbers below with a few buckets of salt, any difference below 10% is most
|
||||
likely noise.
|
||||
|
||||
These benchmarks were performed on 2025-01-28 with perl v5.40.0 on x86_64-linux.
|
||||
B<DISCLAIMER#2:> Goodhart's law: "When a measure becomes a target, it ceases to
|
||||
be a good measure". I've used these benchmarks to find and optimize hotspots in
|
||||
FU, which in turn means these numbers may look better than they are in
|
||||
real-world use.
|
||||
|
||||
=head1 MODULE VERSIONS
|
||||
|
||||
The following module versions were used:
|
||||
|
||||
=over
|
||||
|
||||
=item L<FU> 0.1
|
||||
|
||||
=item L<Cpanel::JSON::XS> 4.38
|
||||
|
||||
=item L<FU> 0.1
|
||||
|
||||
=item L<JSON::PP> 4.16
|
||||
|
||||
=item L<JSON::XS> 4.03
|
||||
|
||||
=item L<JSON::SIMD> 1.06
|
||||
|
||||
=item L<JSON::XS> 4.03
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
|
@ -44,58 +51,97 @@ SIMD parts are only used for parsing.
|
|||
|
||||
API object from L<JSON::XS> documentation.
|
||||
|
||||
JSON::PP 5370/s
|
||||
Cpanel::JSON::XS 112211/s
|
||||
JSON::SIMD 128743/s
|
||||
JSON::XS 130606/s
|
||||
FU::Util 130813/s
|
||||
JSON::PP 5342/s
|
||||
Cpanel::JSON::XS 110660/s
|
||||
JSON::SIMD 128161/s
|
||||
JSON::XS 130434/s
|
||||
FU::Util 129117/s
|
||||
|
||||
Small integers
|
||||
|
||||
JSON::PP 113/s
|
||||
Cpanel::JSON::XS 7262/s
|
||||
JSON::SIMD 8217/s
|
||||
JSON::XS 8142/s
|
||||
FU::Util 9154/s
|
||||
JSON::PP 117/s
|
||||
Cpanel::JSON::XS 7370/s
|
||||
JSON::SIMD 8191/s
|
||||
JSON::XS 8143/s
|
||||
FU::Util 9188/s
|
||||
|
||||
Large integers
|
||||
|
||||
JSON::PP 2136/s
|
||||
Cpanel::JSON::XS 29220/s
|
||||
JSON::SIMD 35834/s
|
||||
JSON::XS 35879/s
|
||||
FU::Util 117838/s
|
||||
JSON::PP 2208/s
|
||||
Cpanel::JSON::XS 29299/s
|
||||
JSON::SIMD 37344/s
|
||||
JSON::XS 35873/s
|
||||
FU::Util 114084/s
|
||||
|
||||
ASCII strings
|
||||
|
||||
JSON::PP 2893/s
|
||||
Cpanel::JSON::XS 118698/s
|
||||
JSON::SIMD 137235/s
|
||||
JSON::XS 135933/s
|
||||
FU::Util 172207/s
|
||||
JSON::PP 2798/s
|
||||
Cpanel::JSON::XS 116754/s
|
||||
JSON::SIMD 134130/s
|
||||
JSON::XS 133137/s
|
||||
FU::Util 166142/s
|
||||
|
||||
Unicode strings
|
||||
|
||||
JSON::PP 5186/s
|
||||
Cpanel::JSON::XS 97154/s
|
||||
JSON::SIMD 109441/s
|
||||
JSON::XS 105691/s
|
||||
FU::Util 106058/s
|
||||
JSON::PP 5067/s
|
||||
Cpanel::JSON::XS 95453/s
|
||||
JSON::SIMD 107955/s
|
||||
JSON::XS 105367/s
|
||||
FU::Util 103071/s
|
||||
|
||||
String escaping (few)
|
||||
|
||||
JSON::PP 4280/s
|
||||
Cpanel::JSON::XS 140105/s
|
||||
JSON::SIMD 161231/s
|
||||
JSON::XS 160077/s
|
||||
FU::Util 182074/s
|
||||
JSON::PP 4275/s
|
||||
Cpanel::JSON::XS 138030/s
|
||||
JSON::SIMD 157735/s
|
||||
JSON::XS 159066/s
|
||||
FU::Util 171426/s
|
||||
|
||||
String escaping (many)
|
||||
|
||||
JSON::PP 2235/s
|
||||
Cpanel::JSON::XS 144829/s
|
||||
JSON::SIMD 161006/s
|
||||
JSON::XS 161246/s
|
||||
FU::Util 136568/s
|
||||
JSON::PP 2231/s
|
||||
Cpanel::JSON::XS 140657/s
|
||||
JSON::SIMD 154850/s
|
||||
JSON::XS 154280/s
|
||||
FU::Util 132514/s
|
||||
|
||||
|
||||
|
||||
=cut
|
||||
|
||||
# Cached data used by bench.PL.
|
||||
jsonfmt/api Cpanel::JSON::XS Cpanel::JSON::XS 4.38 110660
|
||||
jsonfmt/api FU::Util FU 0.1 129117
|
||||
jsonfmt/api JSON::PP JSON::PP 4.16 5342
|
||||
jsonfmt/api JSON::SIMD JSON::SIMD 1.06 128161
|
||||
jsonfmt/api JSON::XS JSON::XS 4.03 130434
|
||||
jsonfmt/intl Cpanel::JSON::XS Cpanel::JSON::XS 4.38 29299
|
||||
jsonfmt/intl FU::Util FU 0.1 114084
|
||||
jsonfmt/intl JSON::PP JSON::PP 4.16 2208
|
||||
jsonfmt/intl JSON::SIMD JSON::SIMD 1.06 37344
|
||||
jsonfmt/intl JSON::XS JSON::XS 4.03 35873
|
||||
jsonfmt/ints Cpanel::JSON::XS Cpanel::JSON::XS 4.38 7370
|
||||
jsonfmt/ints FU::Util FU 0.1 9188
|
||||
jsonfmt/ints JSON::PP JSON::PP 4.16 117
|
||||
jsonfmt/ints JSON::SIMD JSON::SIMD 1.06 8191
|
||||
jsonfmt/ints JSON::XS JSON::XS 4.03 8143
|
||||
jsonfmt/strel Cpanel::JSON::XS Cpanel::JSON::XS 4.38 140657
|
||||
jsonfmt/strel FU::Util FU 0.1 132514
|
||||
jsonfmt/strel JSON::PP JSON::PP 4.16 2231
|
||||
jsonfmt/strel JSON::SIMD JSON::SIMD 1.06 154850
|
||||
jsonfmt/strel JSON::XS JSON::XS 4.03 154280
|
||||
jsonfmt/stres Cpanel::JSON::XS Cpanel::JSON::XS 4.38 138030
|
||||
jsonfmt/stres FU::Util FU 0.1 171426
|
||||
jsonfmt/stres JSON::PP JSON::PP 4.16 4275
|
||||
jsonfmt/stres JSON::SIMD JSON::SIMD 1.06 157735
|
||||
jsonfmt/stres JSON::XS JSON::XS 4.03 159066
|
||||
jsonfmt/strs Cpanel::JSON::XS Cpanel::JSON::XS 4.38 116754
|
||||
jsonfmt/strs FU::Util FU 0.1 166142
|
||||
jsonfmt/strs JSON::PP JSON::PP 4.16 2798
|
||||
jsonfmt/strs JSON::SIMD JSON::SIMD 1.06 134130
|
||||
jsonfmt/strs JSON::XS JSON::XS 4.03 133137
|
||||
jsonfmt/stru Cpanel::JSON::XS Cpanel::JSON::XS 4.38 95453
|
||||
jsonfmt/stru FU::Util FU 0.1 103071
|
||||
jsonfmt/stru JSON::PP JSON::PP 4.16 5067
|
||||
jsonfmt/stru JSON::SIMD JSON::SIMD 1.06 107955
|
||||
jsonfmt/stru JSON::XS JSON::XS 4.03 105367
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue