Bencher-ScenarioBundle-Algorithm-Diff
view release on metacpan or search on metacpan
lib/Bencher/Scenario/Algorithm/Diff/Diff.pm view on Meta::CPAN
Function call template:
Algorithm::Diff::XS::LCSidx(<ary1>, <ary2>)
=back
=head1 BENCHMARK DATASETS
=over
=item * empty
=item * insert 1x1
=item * insert 1x10
=item * insert 10x1
=item * delete 1x1
=item * delete 1x10
=item * delete 10x1
=item * insert+delete 150x1
=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 Algorithm::Diff::Diff
Result formatted as table:
#table1#
+-----------------------------------+---------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | dataset | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-----------------------------------+---------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Algorithm::Diff::LCSidx | insert+delete 150x1 | 90 | 10 | 0.00% | 625580.07% | 0.00018 | 20 |
| Algorithm::Diff::LCS | insert+delete 150x1 | 99 | 10 | 11.16% | 562788.61% | 5.4e-05 | 23 |
| Algorithm::Diff::sdiff | insert+delete 150x1 | 100 | 9.8 | 15.07% | 543653.06% | 2.1e-05 | 20 |
| Algorithm::Diff::compact_diff | insert+delete 150x1 | 110 | 9.5 | 18.28% | 528873.02% | 2.2e-05 | 20 |
| Algorithm::Diff::diff | insert+delete 150x1 | 108 | 9.29 | 21.21% | 516096.37% | 7.1e-06 | 20 |
| Algorithm::Diff::LCS_length | insert+delete 150x1 | 109 | 9.21 | 22.26% | 511647.66% | 7.3e-06 | 20 |
| Algorithm::Diff::XS::compact_diff | insert+delete 150x1 | 2800 | 0.36 | 3025.59% | 19917.96% | 4.8e-07 | 20 |
| Algorithm::Diff::XS::LCSidx | insert+delete 150x1 | 3380 | 0.296 | 3704.42% | 16346.12% | 2.1e-07 | 21 |
| Algorithm::Diff::sdiff | insert 10x1 | 22000 | 0.045 | 25121.36% | 2380.75% | 6.9e-08 | 20 |
| Algorithm::Diff::sdiff | delete 10x1 | 24100 | 0.0414 | 27090.21% | 2201.12% | 2.7e-08 | 20 |
| Algorithm::Diff::diff | insert 10x1 | 25000 | 0.04 | 27859.09% | 2137.84% | 5.6e-08 | 28 |
| Algorithm::Diff::diff | delete 10x1 | 26000 | 0.039 | 28935.18% | 2054.90% | 7.4e-08 | 21 |
| Algorithm::Diff::compact_diff | insert 10x1 | 28700 | 0.0348 | 32243.68% | 1834.47% | 3.2e-08 | 21 |
| Algorithm::Diff::compact_diff | delete 10x1 | 31000 | 0.032 | 34657.80% | 1700.11% | 4.7e-08 | 25 |
| Algorithm::Diff::LCSidx | insert 10x1 | 36000 | 0.028 | 40444.50% | 1443.19% | 5.3e-08 | 20 |
| Algorithm::Diff::LCS | insert 10x1 | 36300 | 0.0276 | 40737.95% | 1432.10% | 2.1e-08 | 20 |
| Algorithm::Diff::XS::compact_diff | insert 10x1 | 38000 | 0.027 | 42293.92% | 1375.87% | 2.9e-08 | 20 |
| Algorithm::Diff::LCS | delete 10x1 | 38900 | 0.0257 | 43664.41% | 1329.65% | 2.4e-08 | 20 |
| Algorithm::Diff::LCSidx | delete 10x1 | 40400 | 0.0247 | 45442.90% | 1273.83% | 1.2e-08 | 20 |
| Algorithm::Diff::LCS_length | insert 10x1 | 44000 | 0.0227 | 49448.79% | 1162.76% | 1.7e-08 | 20 |
| Algorithm::Diff::XS::compact_diff | delete 10x1 | 44000 | 0.023 | 49771.60% | 1154.58% | 2.5e-08 | 20 |
| Algorithm::Diff::LCS_length | delete 10x1 | 51000 | 0.0196 | 57302.37% | 989.99% | 1.2e-08 | 20 |
| Algorithm::Diff::XS::LCSidx | insert 10x1 | 55000 | 0.0182 | 61796.45% | 910.85% | 1.6e-08 | 20 |
| Algorithm::Diff::sdiff | insert 1x10 | 61000 | 0.017 | 68063.45% | 817.91% | 2.4e-08 | 20 |
| Algorithm::Diff::XS::LCSidx | delete 10x1 | 65700 | 0.0152 | 73850.74% | 746.08% | 1.1e-08 | 25 |
| Algorithm::Diff::diff | insert 1x10 | 68100 | 0.0147 | 76575.92% | 716.01% | 7.4e-09 | 20 |
| Algorithm::Diff::sdiff | delete 1x10 | 76000 | 0.013 | 85737.81% | 628.91% | 1.8e-08 | 21 |
| Algorithm::Diff::diff | delete 1x10 | 81000 | 0.012 | 90815.38% | 588.20% | 1.3e-08 | 20 |
| Algorithm::Diff::compact_diff | insert 1x10 | 130000 | 0.0078 | 143868.04% | 334.60% | 9.3e-09 | 20 |
| Algorithm::Diff::XS::compact_diff | insert 1x10 | 130000 | 0.0077 | 145492.64% | 329.75% | 9e-09 | 20 |
| Algorithm::Diff::sdiff | delete 1x1 | 134000 | 0.00748 | 150376.00% | 315.80% | 3.8e-09 | 20 |
| Algorithm::Diff::diff | insert 1x1 | 140000 | 0.0074 | 152608.02% | 309.72% | 1e-08 | 20 |
| Algorithm::Diff::sdiff | insert 1x1 | 136000 | 0.00735 | 153131.97% | 308.32% | 4.3e-09 | 20 |
| Algorithm::Diff::diff | delete 1x1 | 145000 | 0.00688 | 163476.07% | 282.50% | 6.3e-09 | 20 |
| Algorithm::Diff::LCSidx | insert 1x10 | 150000 | 0.0068 | 165857.51% | 277.01% | 7.4e-09 | 20 |
| Algorithm::Diff::XS::LCSidx | insert 1x10 | 149000 | 0.00669 | 168217.26% | 271.73% | 4.6e-09 | 22 |
| Algorithm::Diff::LCS | insert 1x10 | 153000 | 0.00655 | 171729.01% | 264.13% | 4e-09 | 23 |
| Algorithm::Diff::LCS_length | insert 1x10 | 158000 | 0.00631 | 178200.17% | 250.91% | 5.5e-09 | 22 |
| Algorithm::Diff::sdiff | empty | 166000 | 0.00604 | 186440.24% | 235.41% | 2e-09 | 21 |
| Algorithm::Diff::diff | empty | 180000 | 0.0057 | 197163.59% | 217.18% | 1.2e-08 | 20 |
| Algorithm::Diff::compact_diff | delete 1x10 | 203000 | 0.00493 | 228458.43% | 173.75% | 2.8e-09 | 20 |
| Algorithm::Diff::XS::compact_diff | delete 1x10 | 204000 | 0.0049 | 229850.80% | 172.09% | 3e-09 | 20 |
| Algorithm::Diff::LCSidx | delete 1x10 | 250000 | 0.004 | 281227.75% | 122.40% | 5.8e-09 | 20 |
| Algorithm::Diff::XS::compact_diff | insert 1x1 | 257000 | 0.00389 | 289384.43% | 116.14% | 2.5e-09 | 21 |
| Algorithm::Diff::XS::LCSidx | delete 1x10 | 259000 | 0.00386 | 291709.75% | 114.41% | 1.2e-09 | 20 |
| Algorithm::Diff::compact_diff | insert 1x1 | 262000 | 0.00381 | 295140.99% | 111.92% | 1.8e-09 | 20 |
| Algorithm::Diff::LCS | delete 1x10 | 267000 | 0.00375 | 299978.88% | 108.51% | 2.5e-09 | 20 |
| Algorithm::Diff::XS::compact_diff | delete 1x1 | 284000 | 0.00353 | 319176.25% | 95.97% | 9.8e-10 | 20 |
| Algorithm::Diff::LCS_length | delete 1x10 | 285000 | 0.00351 | 320463.80% | 95.18% | 1.3e-09 | 20 |
| Algorithm::Diff::compact_diff | delete 1x1 | 290000 | 0.0035 | 323764.89% | 93.19% | 4.3e-09 | 20 |
| Algorithm::Diff::compact_diff | empty | 330000 | 0.0031 | 366765.27% | 70.55% | 4.4e-09 | 20 |
| Algorithm::Diff::XS::compact_diff | empty | 326000 | 0.00307 | 367206.02% | 70.34% | 2.5e-09 | 20 |
| Algorithm::Diff::LCSidx | insert 1x1 | 360000 | 0.0028 | 401372.09% | 55.85% | 3.4e-09 | 20 |
| Algorithm::Diff::XS::LCSidx | insert 1x1 | 370000 | 0.00271 | 416053.08% | 50.35% | 2.5e-09 | 20 |
| Algorithm::Diff::LCS | insert 1x1 | 385000 | 0.0026 | 433664.64% | 44.24% | 2e-09 | 20 |
| Algorithm::Diff::LCSidx | delete 1x1 | 400000 | 0.0025 | 450623.23% | 38.82% | 1.8e-09 | 20 |
| Algorithm::Diff::XS::LCSidx | delete 1x1 | 416000 | 0.00241 | 467741.43% | 33.74% | 1.6e-09 | 22 |
| Algorithm::Diff::LCS | delete 1x1 | 420000 | 0.0024 | 476739.39% | 31.21% | 2.8e-09 | 20 |
| Algorithm::Diff::LCS_length | insert 1x1 | 424000 | 0.00236 | 476931.14% | 31.16% | 1.4e-09 | 20 |
| Algorithm::Diff::LCSidx | empty | 440000 | 0.0023 | 497789.71% | 25.67% | 3e-09 | 20 |
| Algorithm::Diff::XS::LCSidx | empty | 470000 | 0.0021 | 527960.11% | 18.49% | 3.4e-09 | 20 |
| Algorithm::Diff::LCS_length | delete 1x1 | 485000 | 0.00206 | 546366.86% | 14.50% | 1.4e-09 | 20 |
| Algorithm::Diff::LCS | empty | 490000 | 0.00204 | 551089.99% | 13.51% | 8.5e-10 | 20 |
| Algorithm::Diff::LCS_length | empty | 556000 | 0.0018 | 625580.07% | 0.00% | 6.5e-10 | 22 |
+-----------------------------------+---------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
The above result formatted in L<Benchmark.pm|Benchmark> style:
Rate AD:L insert+delete 150x1 AD:L insert+delete 150x1 AD:s insert+delete 150x1 AD:c_d insert+delete 150x1 AD:d insert+delete 150x1 AD:L_l insert+delete 150x1 ADX:c_d insert+delete 150x1 ADX:L insert+delete ...
AD:L insert+delete 150x1 90/s -- 0% -1% -5% -7% -7% -96% ...
AD:L insert+delete 150x1 99/s 0% -- -1% -5% -7% -7% -96% ...
AD:s insert+delete 150x1 100/s 2% 2% -- -3% -5% -6% -96% ...
AD:c_d insert+delete 150x1 110/s 5% 5% 3% -- -2% -3% -96% ...
AD:d insert+delete 150x1 108/s 7% 7% 5% 2% -- 0% -96% ...
AD:L_l insert+delete 150x1 109/s 8% 8% 6% 3% 0% -- -96% ...
ADX:c_d insert+delete 150x1 2800/s 2677% 2677% 2622% 2538% 2480% 2458% -- ...
ADX:L insert+delete 150x1 3380/s 3278% 3278% 3210% 3109% 3038% 3011% 21% ...
AD:s insert 10x1 22000/s 22122% 22122% 21677% 21011% 20544% 20366% 700% ...
AD:s delete 10x1 24100/s 24054% 24054% 23571% 22846% 22339% 22146% 769% ...
AD:d insert 10x1 25000/s 24900% 24900% 24400% 23650% 23124% 22925% 800% ...
AD:d delete 10x1 26000/s 25541% 25541% 25028% 24258% 23720% 23515% 823% ...
AD:c_d insert 10x1 28700/s 28635% 28635% 28060% 27198% 26595% 26365% 934% ...
AD:c_d delete 10x1 31000/s 31150% 31150% 30525% 29587% 28931% 28681% 1025% ...
AD:L insert 10x1 36000/s 35614% 35614% 34900% 33828% 33078% 32792% 1185% ...
AD:L insert 10x1 36300/s 36131% 36131% 35407% 34320% 33559% 33269% 1204% ...
ADX:c_d insert 10x1 38000/s 36937% 36937% 36196% 35085% 34307% 34011% 1233% ...
AD:L delete 10x1 38900/s 38810% 38810% 38032% 36864% 36047% 35736% 1300% ...
AD:L delete 10x1 40400/s 40385% 40385% 39576% 38361% 37511% 37187% 1357% ...
ADX:c_d delete 10x1 44000/s 43378% 43378% 42508% 41204% 40291% 39943% 1465% ...
AD:L_l insert 10x1 44000/s 43952% 43952% 43071% 41750% 40825% 40472% 1485% ...
AD:L_l delete 10x1 51000/s 50920% 50920% 49900% 48369% 47297% 46889% 1736% ...
ADX:L insert 10x1 55000/s 54845% 54845% 53746% 52097% 50943% 50504% 1878% ...
AD:s insert 1x10 61000/s 58723% 58723% 57547% 55782% 54547% 54076% 2017% ...
ADX:L delete 10x1 65700/s 65689% 65689% 64373% 62400% 61018% 60492% 2268% ...
AD:d insert 1x10 68100/s 67927% 67927% 66566% 64525% 63097% 62553% 2348% ...
AD:s delete 1x10 76000/s 76823% 76823% 75284% 72976% 71361% 70746% 2669% ...
AD:d delete 1x10 81000/s 83233% 83233% 81566% 79066% 77316% 76650% 2900% ...
AD:c_d insert 1x10 130000/s 128105% 128105% 125541% 121694% 119002% 117976% 4515% ...
ADX:c_d insert 1x10 130000/s 129770% 129770% 127172% 123276% 120549% 119510% 4575% ...
AD:s delete 1x1 134000/s 133589% 133589% 130916% 126905% 124097% 123028% 4712% ...
AD:d insert 1x1 140000/s 135035% 135035% 132332% 128278% 125440% 124359% 4764% ...
AD:s insert 1x1 136000/s 135954% 135954% 133233% 129151% 126294% 125206% 4797% ...
AD:d delete 1x1 145000/s 145248% 145248% 142341% 137981% 134929% 133766% 5132% ...
AD:L insert 1x10 150000/s 146958% 146958% 144017% 139605% 136517% 135341% 5194% ...
ADX:L insert 1x10 149000/s 149376% 149376% 146387% 141902% 138763% 137568% 5281% ...
AD:L insert 1x10 153000/s 152571% 152571% 149518% 144938% 141732% 140510% 5396% ...
AD:L_l insert 1x10 158000/s 158378% 158378% 155209% 150454% 147126% 145858% 5605% ...
AD:s empty 166000/s 165462% 165462% 162151% 157184% 153707% 152383% 5860% ...
AD:d empty 180000/s 175338% 175338% 171829% 166566% 162882% 161478% 6215% ...
AD:c_d delete 1x10 203000/s 202739% 202739% 198682% 192597% 188338% 186715% 7202% ...
ADX:c_d delete 1x10 204000/s 203981% 203981% 199900% 193777% 189491% 187859% 7246% ...
AD:L delete 1x10 250000/s 249900% 249900% 244900% 237400% 232149% 230150% 8900% ...
ADX:c_d insert 1x1 257000/s 256969% 256969% 251828% 244115% 238717% 236660% 9154% ...
ADX:L delete 1x10 259000/s 258967% 258967% 253786% 246013% 240573% 238501% 9226% ...
AD:c_d insert 1x1 262000/s 262367% 262367% 257117% 249243% 243732% 241632% 9348% ...
AD:L delete 1x10 267000/s 266566% 266566% 261233% 253233% 247633% 245500% 9500% ...
ADX:c_d delete 1x1 284000/s 283186% 283186% 277520% 269021% 263072% 260806% 10098% ...
AD:L_l delete 1x10 285000/s 284800% 284800% 279102% 270555% 264572% 262293% 10156% ...
AD:c_d delete 1x1 290000/s 285614% 285614% 279900% 271328% 265328% 263042% 10185% ...
AD:c_d empty 330000/s 322480% 322480% 316029% 306351% 299577% 296996% 11512% ...
ADX:c_d empty 326000/s 325632% 325632% 319118% 309346% 302505% 299900% 11626% ...
AD:L insert 1x1 360000/s 357042% 357042% 349900% 339185% 331685% 328828% 12757% 1...
ADX:L insert 1x1 370000/s 368903% 368903% 361523% 350453% 342704% 339752% 13184% 1...
AD:L insert 1x1 385000/s 384515% 384515% 376823% 365284% 357207% 354130% 13746% 1...
AD:L delete 1x1 400000/s 399900% 399900% 391900% 379900% 371499% 368300% 14300% 1...
ADX:L delete 1x1 416000/s 414837% 414837% 406539% 394090% 385377% 382057% 14837% 1...
AD:L delete 1x1 420000/s 416566% 416566% 408233% 395733% 386983% 383650% 14900% 1...
AD:L_l insert 1x1 424000/s 423628% 423628% 415154% 402442% 393544% 390154% 15154% 1...
AD:L empty 440000/s 434682% 434682% 425986% 412943% 403813% 400334% 15552% 1...
ADX:L empty 470000/s 476090% 476090% 466566% 452280% 442280% 438471% 17042% 1...
AD:L_l delete 1x1 485000/s 485336% 485336% 475628% 461065% 450870% 446987% 17375% 1...
AD:L empty 490000/s 490096% 490096% 480292% 465586% 455292% 451370% 17547% 1...
AD:L_l empty 556000/s 555455% 555455% 544344% 527677% 516011% 511566% 19900% 1...
Legends:
AD:L delete 10x1: dataset=delete 10x1 participant=Algorithm::Diff::LCSidx
AD:L delete 1x1: dataset=delete 1x1 participant=Algorithm::Diff::LCS
AD:L delete 1x10: dataset=delete 1x10 participant=Algorithm::Diff::LCS
AD:L empty: dataset=empty participant=Algorithm::Diff::LCS
AD:L insert 10x1: dataset=insert 10x1 participant=Algorithm::Diff::LCS
AD:L insert 1x1: dataset=insert 1x1 participant=Algorithm::Diff::LCS
AD:L insert 1x10: dataset=insert 1x10 participant=Algorithm::Diff::LCS
AD:L insert+delete 150x1: dataset=insert+delete 150x1 participant=Algorithm::Diff::LCS
AD:L_l delete 10x1: dataset=delete 10x1 participant=Algorithm::Diff::LCS_length
AD:L_l delete 1x1: dataset=delete 1x1 participant=Algorithm::Diff::LCS_length
AD:L_l delete 1x10: dataset=delete 1x10 participant=Algorithm::Diff::LCS_length
AD:L_l empty: dataset=empty participant=Algorithm::Diff::LCS_length
AD:L_l insert 10x1: dataset=insert 10x1 participant=Algorithm::Diff::LCS_length
AD:L_l insert 1x1: dataset=insert 1x1 participant=Algorithm::Diff::LCS_length
AD:L_l insert 1x10: dataset=insert 1x10 participant=Algorithm::Diff::LCS_length
AD:L_l insert+delete 150x1: dataset=insert+delete 150x1 participant=Algorithm::Diff::LCS_length
AD:c_d delete 10x1: dataset=delete 10x1 participant=Algorithm::Diff::compact_diff
AD:c_d delete 1x1: dataset=delete 1x1 participant=Algorithm::Diff::compact_diff
AD:c_d delete 1x10: dataset=delete 1x10 participant=Algorithm::Diff::compact_diff
AD:c_d empty: dataset=empty participant=Algorithm::Diff::compact_diff
AD:c_d insert 10x1: dataset=insert 10x1 participant=Algorithm::Diff::compact_diff
AD:c_d insert 1x1: dataset=insert 1x1 participant=Algorithm::Diff::compact_diff
AD:c_d insert 1x10: dataset=insert 1x10 participant=Algorithm::Diff::compact_diff
AD:c_d insert+delete 150x1: dataset=insert+delete 150x1 participant=Algorithm::Diff::compact_diff
AD:d delete 10x1: dataset=delete 10x1 participant=Algorithm::Diff::diff
AD:d delete 1x1: dataset=delete 1x1 participant=Algorithm::Diff::diff
AD:d delete 1x10: dataset=delete 1x10 participant=Algorithm::Diff::diff
AD:d empty: dataset=empty participant=Algorithm::Diff::diff
AD:d insert 10x1: dataset=insert 10x1 participant=Algorithm::Diff::diff
AD:d insert 1x1: dataset=insert 1x1 participant=Algorithm::Diff::diff
AD:d insert 1x10: dataset=insert 1x10 participant=Algorithm::Diff::diff
AD:d insert+delete 150x1: dataset=insert+delete 150x1 participant=Algorithm::Diff::diff
AD:s delete 10x1: dataset=delete 10x1 participant=Algorithm::Diff::sdiff
AD:s delete 1x1: dataset=delete 1x1 participant=Algorithm::Diff::sdiff
AD:s delete 1x10: dataset=delete 1x10 participant=Algorithm::Diff::sdiff
AD:s empty: dataset=empty participant=Algorithm::Diff::sdiff
( run in 3.327 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )