Skip to content

Instantly share code, notes, and snippets.

@hasufell
Created July 3, 2022 22:03
Show Gist options
  • Save hasufell/33c0736e4fcdd1be4896c08322f191f1 to your computer and use it in GitHub Desktop.
Save hasufell/33c0736e4fcdd1be4896c08322f191f1 to your computer and use it in GitHub Desktop.
Name Mean (ps) OLD 2*Stdev (ps) OLD Mean (ps) NEW 2*Stdev (ps) NEW % faster than old
All.ShortByteString.Small payload.mempty 6545 462 6630 460 -1.2987012987013
All.ShortByteString.Small payload.UTF-8 String (naive) 245051 10960 248591 22828 -1.44459724710366
All.ShortByteString.Small payload.String (naive) 246109 10764 236027 21474 4.09655884181399
All.ShortByteString.intercalate.intercalate (large) 4099353 262710 4073363 192830 0.634002487709646
All.ShortByteString.intercalate.intercalate (small) 415987 41140 423389 25326 -1.77938252878095
All.ShortByteString.intercalate.intercalate (tiny) 48638 2630 48694 2748 -0.115136313170772
All.ShortByteString.partition.strict.mostlyTrueFast 63744164 4935102 65905991 4771688 -3.39141164358199
All.ShortByteString.partition.strict.mostlyFalseFast 53703047 4001184 53461725 1389810 0.44936370183986
All.ShortByteString.partition.strict.balancedFast 101144269 6835784 103552888 8369074 -2.38136972446753
All.ShortByteString.partition.strict.mostlyTrueSlow 2073843462 196134522 2066085050 144287848 0.374107889151761
All.ShortByteString.partition.strict.mostlyFalseSlow 1954065287 182615254 2129598631 110102114 -8.98298256295671
All.ShortByteString.partition.strict.balancedSlow 2007057637 177984274 2140681637 104767582 -6.6577061633233
All.ShortByteString.folds.strict.foldl'.1 17520 1374 6991 356 60.0970319634703
All.ShortByteString.folds.strict.foldl'.2 22956 1322 7697 704 66.4706394842307
All.ShortByteString.folds.strict.foldl'.4 36162 1594 8744 762 75.8199214645208
All.ShortByteString.folds.strict.foldl'.8 64713 3892 10753 662 83.3835550816683
All.ShortByteString.folds.strict.foldl'.16 132510 10222 15440 1294 88.3480492038337
All.ShortByteString.folds.strict.foldl'.32 239354 10438 25687 1318 89.2681968966468
All.ShortByteString.folds.strict.foldl'.64 497313 42494 46529 2580 90.6439204283821
All.ShortByteString.folds.strict.foldl'.128 961953 84622 93611 5182 90.2686513790175
All.ShortByteString.folds.strict.foldl'.256 1916512 84950 176720 11184 90.7790819989648
All.ShortByteString.folds.strict.foldl'.512 3799764 187444 342250 21382 90.9928616619348
All.ShortByteString.folds.strict.foldl'.1024 7586308 351598 673508 41240 91.1220583187501
All.ShortByteString.folds.strict.foldl'.2048 15420587 1350536 1335943 82030 91.3366268093426
All.ShortByteString.folds.strict.foldl'.4096 31758589 2266428 2671493 184720 91.5881243968364
All.ShortByteString.folds.strict.foldl'.8192 67171070 6708512 5317695 346812 92.0833552301609
All.ShortByteString.folds.strict.foldl'.16384 143064084 6135418 10624857 658952 92.5733582441279
All.ShortByteString.folds.strict.foldl'.32768 310262863 21272202 21233413 1322882 93.1563150050607
All.ShortByteString.folds.strict.foldl'.65536 687607084 46900462 42437069 2624960 93.8282967137087
All.ShortByteString.folds.strict.foldr'.1 22123 770 28661 2694 -29.5529539393392
All.ShortByteString.folds.strict.foldr'.2 32935 3082 47343 4440 -43.7467739486868
All.ShortByteString.folds.strict.foldr'.4 55988 5030 86916 8140 -55.2404086589984
All.ShortByteString.folds.strict.foldr'.8 111853 7062 180170 13658 -61.0774856284588
All.ShortByteString.folds.strict.foldr'.16 219892 15320 334317 29958 -52.0369090280683
All.ShortByteString.folds.strict.foldr'.32 401962 21746 690572 65318 -71.8003194331803
All.ShortByteString.folds.strict.foldr'.64 783244 60866 1358691 27072 -73.4696978208579
All.ShortByteString.folds.strict.foldr'.128 1532834 45268 2762542 246496 -80.2244731001531
All.ShortByteString.folds.strict.foldr'.256 3020483 111410 5573525 534502 -84.5242962797672
All.ShortByteString.folds.strict.foldr'.512 6027791 357908 11169676 733936 -85.3029741741212
All.ShortByteString.folds.strict.foldr'.1024 12280137 424458 23492372 1604002 -91.3038266592628
All.ShortByteString.folds.strict.foldr'.2048 25234009 1718356 50228696 2542614 -99.0515894640443
All.ShortByteString.folds.strict.foldr'.4096 53295990 5250208 109990370 5564310 -106.376445957754
All.ShortByteString.folds.strict.foldr'.8192 118643988 7822334 237619860 21100500 -100.279730988139
All.ShortByteString.folds.strict.foldr'.16384 252108865 17464514 500510015 43383562 -98.5293198634645
All.ShortByteString.folds.strict.foldr'.32768 558292889 53391628 1080042231 102681946 -93.4544129577835
All.ShortByteString.folds.strict.foldr'.65536 1292888234 113283326 2343608981 114360872 -81.2692636044207
All.ShortByteString.folds.strict.foldr1'.1 24679 2160 21039 2014 14.7493820657239
All.ShortByteString.folds.strict.foldr1'.2 38174 3160 43457 3668 -13.8392623251428
All.ShortByteString.folds.strict.foldr1'.4 60634 3094 89025 7864 -46.8235643368407
All.ShortByteString.folds.strict.foldr1'.8 130396 12910 193359 13106 -48.2859903678027
All.ShortByteString.folds.strict.foldr1'.16 248856 11244 374138 27242 -50.3431703475102
All.ShortByteString.folds.strict.foldr1'.32 475921 22796 792789 76222 -66.5799575980047
All.ShortByteString.folds.strict.foldr1'.64 939340 85930 1590006 111228 -69.2684225094215
All.ShortByteString.folds.strict.foldr1'.128 1918040 169654 3054147 179298 -59.2327063043524
All.ShortByteString.folds.strict.foldr1'.256 3760548 339846 6175357 353590 -64.2142847265877
All.ShortByteString.folds.strict.foldr1'.512 7437818 193584 12206671 1037400 -64.1162905572575
All.ShortByteString.folds.strict.foldr1'.1024 15008474 1385856 26189972 769408 -74.5012317707983
All.ShortByteString.folds.strict.foldr1'.2048 30516061 2959902 54438246 5434036 -78.3921129270256
All.ShortByteString.folds.strict.foldr1'.4096 63980804 5422778 118928282 11200876 -85.8811933654351
All.ShortByteString.folds.strict.foldr1'.8192 137745551 12388274 253972487 22426056 -84.377996353581
All.ShortByteString.folds.strict.foldr1'.16384 293359760 12484484 539110456 45011180 -83.7710993491405
All.ShortByteString.folds.strict.foldr1'.32768 630667178 56495920 1166422643 102252340 -84.9505862504232
All.ShortByteString.folds.strict.foldr1'.65536 1429739912 86669100 2605532506 124573498 -82.2382157853617
All.ShortByteString.folds.strict.unfoldrN.1 33475 1352 32488 1626 2.94846900672143
All.ShortByteString.folds.strict.unfoldrN.2 45169 2924 44509 4214 1.46117912727756
All.ShortByteString.folds.strict.unfoldrN.4 74361 5784 72130 6154 3.00022861446188
All.ShortByteString.folds.strict.unfoldrN.8 140790 10440 142884 11382 -1.4873215427232
All.ShortByteString.folds.strict.unfoldrN.16 256453 14572 250693 5738 2.24602558753456
All.ShortByteString.folds.strict.unfoldrN.32 471879 46378 468038 28364 0.813979855005203
All.ShortByteString.folds.strict.unfoldrN.64 903169 44494 906435 86124 -0.36161560018114
All.ShortByteString.folds.strict.unfoldrN.128 1795602 120522 1891718 187336 -5.35285659071442
All.ShortByteString.folds.strict.unfoldrN.256 3748418 186026 3534617 328788 5.70376622884641
All.ShortByteString.folds.strict.unfoldrN.512 7090892 707654 7087879 666104 0.0424911280555394
All.ShortByteString.folds.strict.unfoldrN.1024 13817456 751226 13972591 658946 -1.12274647373583
All.ShortByteString.folds.strict.unfoldrN.2048 27791317 2664374 27894387 2738018 -0.370871232910625
All.ShortByteString.folds.strict.unfoldrN.4096 55704091 5530930 58772347 1984584 -5.50813404351217
All.ShortByteString.folds.strict.unfoldrN.8192 111124220 6102792 112114571 10945876 -0.891210754955131
All.ShortByteString.folds.strict.unfoldrN.16384 221521593 12709826 222147211 6056684 -0.282418517999733
All.ShortByteString.folds.strict.unfoldrN.32768 440871626 25790018 459593061 34654328 -4.24645948977447
All.ShortByteString.folds.strict.unfoldrN.65536 892407625 87481546 920931806 84760196 -3.19631749000352
All.ShortByteString.folds.strict.filter.1 28155 1570 28662 1454 -1.80074587107086
All.ShortByteString.folds.strict.filter.2 39637 3130 39724 2722 -0.219491888891692
All.ShortByteString.folds.strict.filter.4 58003 4816 61866 5082 -6.66000034480975
All.ShortByteString.folds.strict.filter.8 97425 4896 100667 6744 -3.32768796510136
All.ShortByteString.folds.strict.filter.16 187500 18600 185607 13476 1.0096
All.ShortByteString.folds.strict.filter.32 356692 23536 350577 28870 1.71436421338297
All.ShortByteString.folds.strict.filter.64 665219 41230 666729 66490 -0.226992915115173
All.ShortByteString.folds.strict.filter.128 1305214 82140 1300613 92464 0.352509243694904
All.ShortByteString.folds.strict.filter.256 2675818 195332 2656660 209540 0.71596797689529
All.ShortByteString.folds.strict.filter.512 5353870 170966 5133930 344540 4.10805641526597
All.ShortByteString.folds.strict.filter.1024 10512755 780532 10189056 693150 3.07910723687559
All.ShortByteString.folds.strict.filter.2048 20642655 1678942 21083443 1944954 -2.13532610025212
All.ShortByteString.folds.strict.filter.4096 41043516 2686114 40672112 2730496 0.904902981508699
All.ShortByteString.folds.strict.filter.8192 83921571 4829600 82843037 5679868 1.28516898235854
All.ShortByteString.folds.strict.filter.16384 166671893 12024588 163282662 16225384 2.03347483429615
All.ShortByteString.folds.strict.filter.32768 335247312 26775132 334918280 29853296 0.0981460516527572
All.ShortByteString.folds.strict.filter.65536 664141390 42934600 674451940 46478600 -1.55246309825683
All.ShortByteString.findIndexOrLength.takeWhile 85007733 7366168 86253158 6606968 -1.46507259521907
All.ShortByteString.findIndexOrLength.dropWhile 86192678 1655572 78260921 4089144 9.20235591241289
All.ShortByteString.findIndexOrLength.break 6526826 332032 6524711 343678 0.0324047247467605
All.ShortByteString.findIndex_.findIndices 10706369 670986 7679317 667884 28.2733763426237
All.ShortByteString.findIndex_.find 1737739 172724 1741693 170806 -0.227537046702641
All.ShortByteString.traversals.map (+1) large 968863921 87172550 976330925 78950556 -0.770696878906692
All.ShortByteString.traversals.map (+1) small 214270 14058 214714 17206 -0.207215195781024
All.ShortByteString.ShortByteString strict first index.FindIndices 124089 10604 153520 15242 -23.7176542642781
All.ShortByteString.ShortByteString strict first index.ElemIndices 152690 10436 124205 10524 18.6554456742419
All.ShortByteString.ShortByteString strict first index.FindIndex 100537 5414 147604 10314 -46.8156002267822
All.ShortByteString.ShortByteString strict first index.ElemIndex 17893 1410 17629 640 1.47543732185771
All.ShortByteString.ShortByteString strict second index.FindIndices 308675 21036 251011 20952 18.6811371183283
All.ShortByteString.ShortByteString strict second index.ElemIndices 250833 20678 308265 10450 -22.8965088325699
All.ShortByteString.ShortByteString strict second index.FindIndex 50832165 4704014 51065456 1353128 -0.458943662934679
All.ShortByteString.ShortByteString strict second index.ElemIndex 50991360 3993688 51491864 1792472 -0.981546677711675
All.ShortByteString.ShortByteString index equality inlining.FindIndices/inlined 648660912 42205070 501501184 42196866 22.6866958186622
All.ShortByteString.ShortByteString index equality inlining.FindIndices/non-inlined 4658648950 358395410 4671552912 211068102 -0.276989361905022
All.ShortByteString.ShortByteString index equality inlining.FindIndex/inlined 98461 5330 98354 5382 0.108672469302566
All.ShortByteString.ShortByteString index equality inlining.FindIndex/non-inlined 1022686 91824 971179 70064 5.03644324846532
All.ShortByteString.ShortByteString unpack.unpack and look at first 100 elements 15878876987 1082108090 584454 53900 99.9963192988995
All.ShortByteString.ShortByteString unpack.unpackLast 20634027368 99749370 11738811100 817825986 43.109452698483
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment