Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Evaluation] [Performance] Use the strict 'List' for 'Constr' #6947

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

effectfully
Copy link
Contributor

Just checking.

@effectfully effectfully force-pushed the effectfully/evaluation/performance/use-strict-lists-for-Constr branch from 67f122d to 6e6e781 Compare March 12, 2025 21:54
@effectfully
Copy link
Contributor Author

/benchmark nofib

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
clausify/formula1 2.390 ms 2.380 ms -0.4%
clausify/formula2 3.231 ms 3.186 ms -1.4%
clausify/formula3 8.908 ms 8.803 ms -1.2%
clausify/formula4 20.56 ms 20.45 ms -0.5%
clausify/formula5 43.28 ms 42.64 ms -1.5%
knights/4x4 14.88 ms 14.60 ms -1.9%
knights/6x6 35.78 ms 36.14 ms +1.0%
knights/8x8 62.36 ms 62.34 ms -0.0%
primetest/05digits 9.133 ms 9.048 ms -0.9%
primetest/10digits 17.94 ms 17.67 ms -1.5%
primetest/30digits 55.71 ms 54.76 ms -1.7%
primetest/50digits 90.89 ms 91.49 ms +0.7%
queens4x4/bt 4.103 ms 4.058 ms -1.1%
queens4x4/bm 5.040 ms 4.998 ms -0.8%
queens4x4/bjbt1 4.900 ms 4.851 ms -1.0%
queens4x4/bjbt2 4.591 ms 4.599 ms +0.2%
queens4x4/fc 10.15 ms 10.05 ms -1.0%
queens5x5/bt 57.30 ms 56.88 ms -0.7%
queens5x5/bm 57.68 ms 57.28 ms -0.7%
queens5x5/bjbt1 65.86 ms 65.89 ms +0.0%
queens5x5/bjbt2 64.19 ms 64.07 ms -0.2%
queens5x5/fc 128.5 ms 128.3 ms -0.2%
8007d8d 6e6e781 Change
TOTAL 767.4 ms 764.5 ms -0.4%

@effectfully
Copy link
Contributor Author

/benchmark lists

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 190.3 μs 190.6 μs +0.2%
sort/ghcSort/100 441.1 μs 438.4 μs -0.6%
sort/ghcSort/150 762.7 μs 761.5 μs -0.2%
sort/ghcSort/200 1.033 ms 1.024 ms -0.9%
sort/ghcSort/250 1.337 ms 1.320 ms -1.3%
sort/ghcSort/300 1.767 ms 1.745 ms -1.2%
sort/insertionSort/50 613.8 μs 627.5 μs +2.2%
sort/insertionSort/100 2.444 ms 2.437 ms -0.3%
sort/insertionSort/150 5.496 ms 5.494 ms -0.0%
sort/insertionSort/200 9.867 ms 9.803 ms -0.6%
sort/insertionSort/250 15.37 ms 15.39 ms +0.1%
sort/insertionSort/300 22.30 ms 22.25 ms -0.2%
sort/mergeSort/50 576.5 μs 557.3 μs -3.3%
sort/mergeSort/100 1.314 ms 1.277 ms -2.8%
sort/mergeSort/150 2.123 ms 2.058 ms -3.1%
sort/mergeSort/200 2.981 ms 2.892 ms -3.0%
sort/mergeSort/250 3.903 ms 3.793 ms -2.8%
sort/mergeSort/300 4.777 ms 4.611 ms -3.5%
sort/quickSort/50 1.551 ms 1.523 ms -1.8%
sort/quickSort/100 6.350 ms 6.242 ms -1.7%
sort/quickSort/150 14.34 ms 14.05 ms -2.0%
sort/quickSort/200 25.37 ms 24.85 ms -2.0%
sort/quickSort/250 39.87 ms 39.13 ms -1.9%
sort/quickSort/300 57.76 ms 56.70 ms -1.8%
sum/compiled-from-Haskell/sum-right-builtin/100 78.55 μs 77.72 μs -1.1%
sum/compiled-from-Haskell/sum-right-builtin/500 407.8 μs 404.0 μs -0.9%
sum/compiled-from-Haskell/sum-right-builtin/1000 870.0 μs 860.3 μs -1.1%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.688 ms 2.652 ms -1.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.795 ms 5.773 ms -0.4%
sum/compiled-from-Haskell/sum-right-Scott/100 49.60 μs 48.48 μs -2.3%
sum/compiled-from-Haskell/sum-right-Scott/500 259.7 μs 253.2 μs -2.5%
sum/compiled-from-Haskell/sum-right-Scott/1000 564.9 μs 551.3 μs -2.4%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.910 ms 1.867 ms -2.3%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.635 ms 4.586 ms -1.1%
sum/compiled-from-Haskell/sum-right-data/100 258.3 μs 255.4 μs -1.1%
sum/compiled-from-Haskell/sum-right-data/500 1.418 ms 1.405 ms -0.9%
sum/compiled-from-Haskell/sum-right-data/1000 3.181 ms 3.142 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/2500 8.558 ms 8.517 ms -0.5%
sum/compiled-from-Haskell/sum-right-data/5000 17.85 ms 17.82 ms -0.2%
sum/compiled-from-Haskell/sum-left-builtin/100 78.02 μs 77.54 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/500 407.8 μs 404.8 μs -0.7%
sum/compiled-from-Haskell/sum-left-builtin/1000 869.5 μs 855.0 μs -1.7%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.664 ms 2.649 ms -0.6%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.812 ms 5.777 ms -0.6%
sum/compiled-from-Haskell/sum-left-Scott/100 48.35 μs 47.58 μs -1.6%
sum/compiled-from-Haskell/sum-left-Scott/500 254.5 μs 250.0 μs -1.8%
sum/compiled-from-Haskell/sum-left-Scott/1000 553.0 μs 540.5 μs -2.3%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.825 ms 1.787 ms -2.1%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.341 ms 4.255 ms -2.0%
sum/compiled-from-Haskell/sum-left-data/100 263.2 μs 260.5 μs -1.0%
sum/compiled-from-Haskell/sum-left-data/500 1.453 ms 1.446 ms -0.5%
sum/compiled-from-Haskell/sum-left-data/1000 3.257 ms 3.244 ms -0.4%
sum/compiled-from-Haskell/sum-left-data/2500 8.673 ms 8.626 ms -0.5%
sum/compiled-from-Haskell/sum-left-data/5000 18.26 ms 18.26 ms 0.0%
sum/hand-written-PLC/sum-right-builtin/100 52.13 μs 51.65 μs -0.9%
sum/hand-written-PLC/sum-right-builtin/500 264.5 μs 260.9 μs -1.4%
sum/hand-written-PLC/sum-right-builtin/1000 542.7 μs 538.9 μs -0.7%
sum/hand-written-PLC/sum-right-builtin/2500 1.573 ms 1.566 ms -0.4%
sum/hand-written-PLC/sum-right-builtin/5000 3.501 ms 3.449 ms -1.5%
sum/hand-written-PLC/sum-right-Scott/100 38.69 μs 37.09 μs -4.1%
sum/hand-written-PLC/sum-right-Scott/500 194.8 μs 188.4 μs -3.3%
sum/hand-written-PLC/sum-right-Scott/1000 407.6 μs 394.8 μs -3.1%
sum/hand-written-PLC/sum-right-Scott/2500 1.236 ms 1.201 ms -2.8%
sum/hand-written-PLC/sum-right-Scott/5000 3.123 ms 3.040 ms -2.7%
sum/hand-written-PLC/sum-left-builtin/100 55.52 μs 53.36 μs -3.9%
sum/hand-written-PLC/sum-left-builtin/500 271.3 μs 268.0 μs -1.2%
sum/hand-written-PLC/sum-left-builtin/1000 542.4 μs 539.3 μs -0.6%
sum/hand-written-PLC/sum-left-builtin/2500 1.344 ms 1.344 ms 0.0%
sum/hand-written-PLC/sum-left-builtin/5000 2.671 ms 2.681 ms +0.4%
sum/hand-written-PLC/sum-left-Scott/100 42.09 μs 40.90 μs -2.8%
sum/hand-written-PLC/sum-left-Scott/500 208.0 μs 203.7 μs -2.1%
sum/hand-written-PLC/sum-left-Scott/1000 425.1 μs 417.0 μs -1.9%
sum/hand-written-PLC/sum-left-Scott/2500 1.188 ms 1.165 ms -1.9%
sum/hand-written-PLC/sum-left-Scott/5000 2.726 ms 2.682 ms -1.6%
8007d8d 6e6e781 Change
TOTAL 340.2 ms 336.0 ms -1.2%

@effectfully
Copy link
Contributor Author

That does look like an improvement:

image

@effectfully
Copy link
Contributor Author

/benchmark lists

1 similar comment
@effectfully
Copy link
Contributor Author

/benchmark lists

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 190.4 μs 192.7 μs +1.2%
sort/ghcSort/100 441.9 μs 443.0 μs +0.2%
sort/ghcSort/150 764.3 μs 768.1 μs +0.5%
sort/ghcSort/200 1.028 ms 1.029 ms +0.1%
sort/ghcSort/250 1.327 ms 1.327 ms 0.0%
sort/ghcSort/300 1.753 ms 1.751 ms -0.1%
sort/insertionSort/50 608.3 μs 613.4 μs +0.8%
sort/insertionSort/100 2.422 ms 2.444 ms +0.9%
sort/insertionSort/150 5.449 ms 5.507 ms +1.1%
sort/insertionSort/200 9.734 ms 9.831 ms +1.0%
sort/insertionSort/250 15.28 ms 15.39 ms +0.7%
sort/insertionSort/300 22.02 ms 22.29 ms +1.2%
sort/mergeSort/50 570.9 μs 559.4 μs -2.0%
sort/mergeSort/100 1.304 ms 1.282 ms -1.7%
sort/mergeSort/150 2.106 ms 2.064 ms -2.0%
sort/mergeSort/200 2.959 ms 2.898 ms -2.1%
sort/mergeSort/250 3.878 ms 3.923 ms +1.2%
sort/mergeSort/300 4.715 ms 4.629 ms -1.8%
sort/quickSort/50 1.540 ms 1.527 ms -0.8%
sort/quickSort/100 6.291 ms 6.256 ms -0.6%
sort/quickSort/150 14.22 ms 14.11 ms -0.8%
sort/quickSort/200 25.14 ms 24.94 ms -0.8%
sort/quickSort/250 39.55 ms 39.20 ms -0.9%
sort/quickSort/300 57.24 ms 56.81 ms -0.8%
sum/compiled-from-Haskell/sum-right-builtin/100 77.82 μs 77.80 μs -0.0%
sum/compiled-from-Haskell/sum-right-builtin/500 405.0 μs 406.4 μs +0.3%
sum/compiled-from-Haskell/sum-right-builtin/1000 864.3 μs 861.4 μs -0.3%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.658 ms 2.654 ms -0.2%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.733 ms 5.751 ms +0.3%
sum/compiled-from-Haskell/sum-right-Scott/100 49.18 μs 48.19 μs -2.0%
sum/compiled-from-Haskell/sum-right-Scott/500 257.3 μs 253.8 μs -1.4%
sum/compiled-from-Haskell/sum-right-Scott/1000 559.2 μs 555.5 μs -0.7%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.887 ms 1.871 ms -0.8%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.573 ms 4.563 ms -0.2%
sum/compiled-from-Haskell/sum-right-data/100 257.2 μs 253.2 μs -1.6%
sum/compiled-from-Haskell/sum-right-data/500 1.412 ms 1.388 ms -1.7%
sum/compiled-from-Haskell/sum-right-data/1000 3.177 ms 3.139 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/2500 8.506 ms 8.467 ms -0.5%
sum/compiled-from-Haskell/sum-right-data/5000 17.75 ms 17.74 ms -0.1%
sum/compiled-from-Haskell/sum-left-builtin/100 77.58 μs 77.14 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/500 404.9 μs 403.1 μs -0.4%
sum/compiled-from-Haskell/sum-left-builtin/1000 860.0 μs 857.2 μs -0.3%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.637 ms 2.635 ms -0.1%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.743 ms 5.747 ms +0.1%
sum/compiled-from-Haskell/sum-left-Scott/100 47.94 μs 47.30 μs -1.3%
sum/compiled-from-Haskell/sum-left-Scott/500 251.6 μs 249.7 μs -0.8%
sum/compiled-from-Haskell/sum-left-Scott/1000 547.9 μs 544.2 μs -0.7%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.822 ms 1.796 ms -1.4%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.290 ms 4.274 ms -0.4%
sum/compiled-from-Haskell/sum-left-data/100 261.3 μs 262.9 μs +0.6%
sum/compiled-from-Haskell/sum-left-data/500 1.446 ms 1.452 ms +0.4%
sum/compiled-from-Haskell/sum-left-data/1000 3.237 ms 3.236 ms -0.0%
sum/compiled-from-Haskell/sum-left-data/2500 8.624 ms 8.642 ms +0.2%
sum/compiled-from-Haskell/sum-left-data/5000 18.20 ms 18.32 ms +0.7%
sum/hand-written-PLC/sum-right-builtin/100 51.55 μs 51.86 μs +0.6%
sum/hand-written-PLC/sum-right-builtin/500 261.3 μs 262.6 μs +0.5%
sum/hand-written-PLC/sum-right-builtin/1000 534.3 μs 558.5 μs +4.5%
sum/hand-written-PLC/sum-right-builtin/2500 1.557 ms 1.562 ms +0.3%
sum/hand-written-PLC/sum-right-builtin/5000 3.453 ms 3.462 ms +0.3%
sum/hand-written-PLC/sum-right-Scott/100 38.34 μs 37.28 μs -2.8%
sum/hand-written-PLC/sum-right-Scott/500 193.0 μs 189.3 μs -1.9%
sum/hand-written-PLC/sum-right-Scott/1000 404.2 μs 397.7 μs -1.6%
sum/hand-written-PLC/sum-right-Scott/2500 1.224 ms 1.205 ms -1.6%
sum/hand-written-PLC/sum-right-Scott/5000 3.080 ms 3.041 ms -1.3%
sum/hand-written-PLC/sum-left-builtin/100 55.21 μs 53.41 μs -3.3%
sum/hand-written-PLC/sum-left-builtin/500 269.3 μs 269.8 μs +0.2%
sum/hand-written-PLC/sum-left-builtin/1000 533.1 μs 541.2 μs +1.5%
sum/hand-written-PLC/sum-left-builtin/2500 1.328 ms 1.351 ms +1.7%
sum/hand-written-PLC/sum-left-builtin/5000 2.655 ms 2.681 ms +1.0%
sum/hand-written-PLC/sum-left-Scott/100 41.76 μs 41.05 μs -1.7%
sum/hand-written-PLC/sum-left-Scott/500 206.7 μs 204.6 μs -1.0%
sum/hand-written-PLC/sum-left-Scott/1000 421.9 μs 418.4 μs -0.8%
sum/hand-written-PLC/sum-left-Scott/2500 1.181 ms 1.178 ms -0.3%
sum/hand-written-PLC/sum-left-Scott/5000 2.699 ms 2.683 ms -0.6%
8007d8d 6e6e781 Change
TOTAL 337.3 ms 336.5 ms -0.2%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 190.8 μs 191.3 μs +0.3%
sort/ghcSort/100 441.2 μs 450.2 μs +2.0%
sort/ghcSort/150 762.6 μs 762.0 μs -0.1%
sort/ghcSort/200 1.025 ms 1.024 ms -0.1%
sort/ghcSort/250 1.324 ms 1.319 ms -0.4%
sort/ghcSort/300 1.750 ms 1.789 ms +2.2%
sort/insertionSort/50 608.5 μs 610.6 μs +0.3%
sort/insertionSort/100 2.422 ms 2.439 ms +0.7%
sort/insertionSort/150 5.457 ms 5.496 ms +0.7%
sort/insertionSort/200 9.801 ms 9.811 ms +0.1%
sort/insertionSort/250 15.23 ms 15.63 ms +2.6%
sort/insertionSort/300 22.04 ms 22.22 ms +0.8%
sort/mergeSort/50 571.5 μs 557.9 μs -2.4%
sort/mergeSort/100 1.307 ms 1.321 ms +1.1%
sort/mergeSort/150 2.108 ms 2.061 ms -2.2%
sort/mergeSort/200 2.960 ms 2.893 ms -2.3%
sort/mergeSort/250 3.879 ms 3.903 ms +0.6%
sort/mergeSort/300 4.729 ms 4.632 ms -2.1%
sort/quickSort/50 1.542 ms 1.525 ms -1.1%
sort/quickSort/100 6.299 ms 6.235 ms -1.0%
sort/quickSort/150 14.22 ms 14.53 ms +2.2%
sort/quickSort/200 25.17 ms 25.27 ms +0.4%
sort/quickSort/250 39.57 ms 39.14 ms -1.1%
sort/quickSort/300 57.29 ms 56.50 ms -1.4%
sum/compiled-from-Haskell/sum-right-builtin/100 77.86 μs 77.58 μs -0.4%
sum/compiled-from-Haskell/sum-right-builtin/500 404.5 μs 404.1 μs -0.1%
sum/compiled-from-Haskell/sum-right-builtin/1000 865.1 μs 866.2 μs +0.1%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.658 ms 2.649 ms -0.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.730 ms 5.715 ms -0.3%
sum/compiled-from-Haskell/sum-right-Scott/100 49.19 μs 48.31 μs -1.8%
sum/compiled-from-Haskell/sum-right-Scott/500 257.1 μs 253.6 μs -1.4%
sum/compiled-from-Haskell/sum-right-Scott/1000 559.3 μs 553.4 μs -1.1%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.888 ms 1.869 ms -1.0%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.583 ms 4.549 ms -0.7%
sum/compiled-from-Haskell/sum-right-data/100 257.5 μs 253.4 μs -1.6%
sum/compiled-from-Haskell/sum-right-data/500 1.411 ms 1.384 ms -1.9%
sum/compiled-from-Haskell/sum-right-data/1000 3.176 ms 3.129 ms -1.5%
sum/compiled-from-Haskell/sum-right-data/2500 8.498 ms 8.396 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/5000 17.77 ms 17.62 ms -0.8%
sum/compiled-from-Haskell/sum-left-builtin/100 77.34 μs 76.93 μs -0.5%
sum/compiled-from-Haskell/sum-left-builtin/500 404.8 μs 401.8 μs -0.7%
sum/compiled-from-Haskell/sum-left-builtin/1000 859.6 μs 854.8 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.640 ms 2.629 ms -0.4%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.744 ms 5.708 ms -0.6%
sum/compiled-from-Haskell/sum-left-Scott/100 47.76 μs 47.22 μs -1.1%
sum/compiled-from-Haskell/sum-left-Scott/500 252.2 μs 249.1 μs -1.2%
sum/compiled-from-Haskell/sum-left-Scott/1000 547.8 μs 542.3 μs -1.0%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.804 ms 1.786 ms -1.0%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.334 ms 4.247 ms -2.0%
sum/compiled-from-Haskell/sum-left-data/100 265.5 μs 262.0 μs -1.3%
sum/compiled-from-Haskell/sum-left-data/500 1.460 ms 1.442 ms -1.2%
sum/compiled-from-Haskell/sum-left-data/1000 3.264 ms 3.241 ms -0.7%
sum/compiled-from-Haskell/sum-left-data/2500 8.703 ms 8.623 ms -0.9%
sum/compiled-from-Haskell/sum-left-data/5000 18.35 ms 18.18 ms -0.9%
sum/hand-written-PLC/sum-right-builtin/100 51.86 μs 51.99 μs +0.3%
sum/hand-written-PLC/sum-right-builtin/500 263.9 μs 258.2 μs -2.2%
sum/hand-written-PLC/sum-right-builtin/1000 544.1 μs 540.5 μs -0.7%
sum/hand-written-PLC/sum-right-builtin/2500 1.559 ms 1.557 ms -0.1%
sum/hand-written-PLC/sum-right-builtin/5000 3.448 ms 3.463 ms +0.4%
sum/hand-written-PLC/sum-right-Scott/100 38.14 μs 37.07 μs -2.8%
sum/hand-written-PLC/sum-right-Scott/500 192.7 μs 188.5 μs -2.2%
sum/hand-written-PLC/sum-right-Scott/1000 403.4 μs 396.1 μs -1.8%
sum/hand-written-PLC/sum-right-Scott/2500 1.223 ms 1.204 ms -1.6%
sum/hand-written-PLC/sum-right-Scott/5000 3.082 ms 3.035 ms -1.5%
sum/hand-written-PLC/sum-left-builtin/100 54.22 μs 53.41 μs -1.5%
sum/hand-written-PLC/sum-left-builtin/500 269.4 μs 268.2 μs -0.4%
sum/hand-written-PLC/sum-left-builtin/1000 536.3 μs 538.1 μs +0.3%
sum/hand-written-PLC/sum-left-builtin/2500 1.336 ms 1.344 ms +0.6%
sum/hand-written-PLC/sum-left-builtin/5000 2.677 ms 2.666 ms -0.4%
sum/hand-written-PLC/sum-left-Scott/100 41.51 μs 40.80 μs -1.7%
sum/hand-written-PLC/sum-left-Scott/500 208.5 μs 202.4 μs -2.9%
sum/hand-written-PLC/sum-left-Scott/1000 426.4 μs 417.1 μs -2.2%
sum/hand-written-PLC/sum-left-Scott/2500 1.191 ms 1.168 ms -1.9%
sum/hand-written-PLC/sum-left-Scott/5000 2.728 ms 2.671 ms -2.1%
8007d8d 6e6e781 Change
TOTAL 337.9 ms 336.5 ms -0.4%

@effectfully
Copy link
Contributor Author

/benchmark lists

4 similar comments
@effectfully
Copy link
Contributor Author

/benchmark lists

@effectfully
Copy link
Contributor Author

/benchmark lists

@effectfully
Copy link
Contributor Author

/benchmark lists

@effectfully
Copy link
Contributor Author

/benchmark lists

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 190.4 μs 191.6 μs +0.6%
sort/ghcSort/100 441.0 μs 438.9 μs -0.5%
sort/ghcSort/150 765.9 μs 761.8 μs -0.5%
sort/ghcSort/200 1.028 ms 1.023 ms -0.5%
sort/ghcSort/250 1.331 ms 1.320 ms -0.8%
sort/ghcSort/300 1.759 ms 1.746 ms -0.7%
sort/insertionSort/50 611.2 μs 614.4 μs +0.5%
sort/insertionSort/100 2.431 ms 2.458 ms +1.1%
sort/insertionSort/150 5.469 ms 5.525 ms +1.0%
sort/insertionSort/200 9.753 ms 10.04 ms +2.9%
sort/insertionSort/250 15.34 ms 15.48 ms +0.9%
sort/insertionSort/300 22.22 ms 22.36 ms +0.6%
sort/mergeSort/50 570.7 μs 558.0 μs -2.2%
sort/mergeSort/100 1.308 ms 1.283 ms -1.9%
sort/mergeSort/150 2.106 ms 2.066 ms -1.9%
sort/mergeSort/200 2.961 ms 2.900 ms -2.1%
sort/mergeSort/250 3.877 ms 3.870 ms -0.2%
sort/mergeSort/300 4.718 ms 4.627 ms -1.9%
sort/quickSort/50 1.547 ms 1.534 ms -0.8%
sort/quickSort/100 6.324 ms 6.273 ms -0.8%
sort/quickSort/150 14.29 ms 14.15 ms -1.0%
sort/quickSort/200 25.31 ms 25.06 ms -1.0%
sort/quickSort/250 39.82 ms 39.46 ms -0.9%
sort/quickSort/300 57.67 ms 57.01 ms -1.1%
sum/compiled-from-Haskell/sum-right-builtin/100 78.18 μs 77.85 μs -0.4%
sum/compiled-from-Haskell/sum-right-builtin/500 407.0 μs 405.7 μs -0.3%
sum/compiled-from-Haskell/sum-right-builtin/1000 867.3 μs 863.2 μs -0.5%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.673 ms 2.656 ms -0.6%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.775 ms 5.743 ms -0.6%
sum/compiled-from-Haskell/sum-right-Scott/100 49.34 μs 48.40 μs -1.9%
sum/compiled-from-Haskell/sum-right-Scott/500 258.0 μs 254.9 μs -1.2%
sum/compiled-from-Haskell/sum-right-Scott/1000 562.1 μs 556.1 μs -1.1%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.901 ms 1.877 ms -1.3%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.621 ms 4.583 ms -0.8%
sum/compiled-from-Haskell/sum-right-data/100 261.9 μs 254.8 μs -2.7%
sum/compiled-from-Haskell/sum-right-data/500 1.432 ms 1.402 ms -2.1%
sum/compiled-from-Haskell/sum-right-data/1000 3.207 ms 3.138 ms -2.2%
sum/compiled-from-Haskell/sum-right-data/2500 8.610 ms 8.468 ms -1.6%
sum/compiled-from-Haskell/sum-right-data/5000 17.88 ms 17.71 ms -1.0%
sum/compiled-from-Haskell/sum-left-builtin/100 76.99 μs 77.36 μs +0.5%
sum/compiled-from-Haskell/sum-left-builtin/500 403.7 μs 404.3 μs +0.1%
sum/compiled-from-Haskell/sum-left-builtin/1000 859.3 μs 860.8 μs +0.2%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.629 ms 2.642 ms +0.5%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.727 ms 5.743 ms +0.3%
sum/compiled-from-Haskell/sum-left-Scott/100 47.61 μs 47.57 μs -0.1%
sum/compiled-from-Haskell/sum-left-Scott/500 252.8 μs 251.3 μs -0.6%
sum/compiled-from-Haskell/sum-left-Scott/1000 550.4 μs 546.6 μs -0.7%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.816 ms 1.800 ms -0.9%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.331 ms 4.286 ms -1.0%
sum/compiled-from-Haskell/sum-left-data/100 265.7 μs 262.8 μs -1.1%
sum/compiled-from-Haskell/sum-left-data/500 1.471 ms 1.446 ms -1.7%
sum/compiled-from-Haskell/sum-left-data/1000 3.278 ms 3.239 ms -1.2%
sum/compiled-from-Haskell/sum-left-data/2500 8.750 ms 8.696 ms -0.6%
sum/compiled-from-Haskell/sum-left-data/5000 18.40 ms 18.35 ms -0.3%
sum/hand-written-PLC/sum-right-builtin/100 51.54 μs 52.01 μs +0.9%
sum/hand-written-PLC/sum-right-builtin/500 263.0 μs 272.0 μs +3.4%
sum/hand-written-PLC/sum-right-builtin/1000 538.8 μs 556.5 μs +3.3%
sum/hand-written-PLC/sum-right-builtin/2500 1.561 ms 1.562 ms +0.1%
sum/hand-written-PLC/sum-right-builtin/5000 3.454 ms 3.524 ms +2.0%
sum/hand-written-PLC/sum-right-Scott/100 38.33 μs 37.13 μs -3.1%
sum/hand-written-PLC/sum-right-Scott/500 193.2 μs 190.5 μs -1.4%
sum/hand-written-PLC/sum-right-Scott/1000 404.5 μs 401.0 μs -0.9%
sum/hand-written-PLC/sum-right-Scott/2500 1.227 ms 1.207 ms -1.6%
sum/hand-written-PLC/sum-right-Scott/5000 3.107 ms 3.055 ms -1.7%
sum/hand-written-PLC/sum-left-builtin/100 54.26 μs 53.44 μs -1.5%
sum/hand-written-PLC/sum-left-builtin/500 270.3 μs 270.1 μs -0.1%
sum/hand-written-PLC/sum-left-builtin/1000 534.9 μs 555.9 μs +3.9%
sum/hand-written-PLC/sum-left-builtin/2500 1.334 ms 1.346 ms +0.9%
sum/hand-written-PLC/sum-left-builtin/5000 2.660 ms 2.677 ms +0.6%
sum/hand-written-PLC/sum-left-Scott/100 41.56 μs 41.00 μs -1.3%
sum/hand-written-PLC/sum-left-Scott/500 206.7 μs 204.5 μs -1.1%
sum/hand-written-PLC/sum-left-Scott/1000 423.6 μs 419.2 μs -1.0%
sum/hand-written-PLC/sum-left-Scott/2500 1.181 ms 1.172 ms -0.8%
sum/hand-written-PLC/sum-left-Scott/5000 2.705 ms 2.690 ms -0.6%
8007d8d 6e6e781 Change
TOTAL 339.5 ms 337.7 ms -0.5%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 191.5 μs 191.3 μs -0.1%
sort/ghcSort/100 443.4 μs 452.7 μs +2.1%
sort/ghcSort/150 768.8 μs 768.5 μs -0.0%
sort/ghcSort/200 1.034 ms 1.035 ms +0.1%
sort/ghcSort/250 1.338 ms 1.347 ms +0.7%
sort/ghcSort/300 1.769 ms 1.808 ms +2.2%
sort/insertionSort/50 615.1 μs 616.2 μs +0.2%
sort/insertionSort/100 2.453 ms 2.463 ms +0.4%
sort/insertionSort/150 5.498 ms 5.534 ms +0.7%
sort/insertionSort/200 9.805 ms 9.879 ms +0.8%
sort/insertionSort/250 15.39 ms 16.07 ms +4.4%
sort/insertionSort/300 22.23 ms 22.39 ms +0.7%
sort/mergeSort/50 577.8 μs 578.2 μs +0.1%
sort/mergeSort/100 1.320 ms 1.310 ms -0.8%
sort/mergeSort/150 2.124 ms 2.073 ms -2.4%
sort/mergeSort/200 2.981 ms 2.916 ms -2.2%
sort/mergeSort/250 3.918 ms 3.820 ms -2.5%
sort/mergeSort/300 4.757 ms 4.803 ms +1.0%
sort/quickSort/50 1.554 ms 1.585 ms +2.0%
sort/quickSort/100 6.351 ms 6.289 ms -1.0%
sort/quickSort/150 14.31 ms 14.52 ms +1.5%
sort/quickSort/200 25.39 ms 25.29 ms -0.4%
sort/quickSort/250 39.91 ms 39.46 ms -1.1%
sort/quickSort/300 57.78 ms 57.06 ms -1.2%
sum/compiled-from-Haskell/sum-right-builtin/100 78.38 μs 78.21 μs -0.2%
sum/compiled-from-Haskell/sum-right-builtin/500 408.6 μs 406.3 μs -0.6%
sum/compiled-from-Haskell/sum-right-builtin/1000 870.6 μs 871.3 μs +0.1%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.678 ms 2.670 ms -0.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.783 ms 5.769 ms -0.2%
sum/compiled-from-Haskell/sum-right-Scott/100 49.46 μs 48.49 μs -2.0%
sum/compiled-from-Haskell/sum-right-Scott/500 259.4 μs 255.7 μs -1.4%
sum/compiled-from-Haskell/sum-right-Scott/1000 563.9 μs 559.8 μs -0.7%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.904 ms 1.879 ms -1.3%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.622 ms 4.607 ms -0.3%
sum/compiled-from-Haskell/sum-right-data/100 257.8 μs 255.1 μs -1.0%
sum/compiled-from-Haskell/sum-right-data/500 1.418 ms 1.407 ms -0.8%
sum/compiled-from-Haskell/sum-right-data/1000 3.176 ms 3.162 ms -0.4%
sum/compiled-from-Haskell/sum-right-data/2500 8.534 ms 8.504 ms -0.4%
sum/compiled-from-Haskell/sum-right-data/5000 17.84 ms 17.74 ms -0.6%
sum/compiled-from-Haskell/sum-left-builtin/100 78.14 μs 77.68 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/500 408.9 μs 405.4 μs -0.9%
sum/compiled-from-Haskell/sum-left-builtin/1000 867.5 μs 862.0 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.660 ms 2.654 ms -0.2%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.783 ms 5.807 ms +0.4%
sum/compiled-from-Haskell/sum-left-Scott/100 48.31 μs 47.61 μs -1.4%
sum/compiled-from-Haskell/sum-left-Scott/500 254.2 μs 251.5 μs -1.1%
sum/compiled-from-Haskell/sum-left-Scott/1000 552.3 μs 540.6 μs -2.1%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.825 ms 1.800 ms -1.4%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.327 ms 4.303 ms -0.6%
sum/compiled-from-Haskell/sum-left-data/100 263.4 μs 263.9 μs +0.2%
sum/compiled-from-Haskell/sum-left-data/500 1.455 ms 1.455 ms 0.0%
sum/compiled-from-Haskell/sum-left-data/1000 3.245 ms 3.259 ms +0.4%
sum/compiled-from-Haskell/sum-left-data/2500 8.657 ms 8.717 ms +0.7%
sum/compiled-from-Haskell/sum-left-data/5000 18.27 ms 18.45 ms +1.0%
sum/hand-written-PLC/sum-right-builtin/100 52.34 μs 51.80 μs -1.0%
sum/hand-written-PLC/sum-right-builtin/500 265.5 μs 263.9 μs -0.6%
sum/hand-written-PLC/sum-right-builtin/1000 541.6 μs 544.8 μs +0.6%
sum/hand-written-PLC/sum-right-builtin/2500 1.570 ms 1.616 ms +2.9%
sum/hand-written-PLC/sum-right-builtin/5000 3.497 ms 3.489 ms -0.2%
sum/hand-written-PLC/sum-right-Scott/100 38.66 μs 37.48 μs -3.1%
sum/hand-written-PLC/sum-right-Scott/500 191.2 μs 190.9 μs -0.2%
sum/hand-written-PLC/sum-right-Scott/1000 407.6 μs 400.7 μs -1.7%
sum/hand-written-PLC/sum-right-Scott/2500 1.234 ms 1.214 ms -1.6%
sum/hand-written-PLC/sum-right-Scott/5000 3.112 ms 3.066 ms -1.5%
sum/hand-written-PLC/sum-left-builtin/100 54.86 μs 53.76 μs -2.0%
sum/hand-written-PLC/sum-left-builtin/500 272.3 μs 270.9 μs -0.5%
sum/hand-written-PLC/sum-left-builtin/1000 538.3 μs 542.6 μs +0.8%
sum/hand-written-PLC/sum-left-builtin/2500 1.345 ms 1.354 ms +0.7%
sum/hand-written-PLC/sum-left-builtin/5000 2.681 ms 2.698 ms +0.6%
sum/hand-written-PLC/sum-left-Scott/100 42.34 μs 41.21 μs -2.7%
sum/hand-written-PLC/sum-left-Scott/500 205.6 μs 205.7 μs +0.0%
sum/hand-written-PLC/sum-left-Scott/1000 419.5 μs 428.3 μs +2.1%
sum/hand-written-PLC/sum-left-Scott/2500 1.186 ms 1.176 ms -0.8%
sum/hand-written-PLC/sum-left-Scott/5000 2.722 ms 2.696 ms -1.0%
8007d8d 6e6e781 Change
TOTAL 340.0 ms 339.7 ms -0.1%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 191.4 μs 191.3 μs -0.1%
sort/ghcSort/100 444.0 μs 450.1 μs +1.4%
sort/ghcSort/150 769.3 μs 770.0 μs +0.1%
sort/ghcSort/200 1.035 ms 1.022 ms -1.3%
sort/ghcSort/250 1.334 ms 1.329 ms -0.4%
sort/ghcSort/300 1.766 ms 1.747 ms -1.1%
sort/insertionSort/50 616.0 μs 609.9 μs -1.0%
sort/insertionSort/100 2.454 ms 2.439 ms -0.6%
sort/insertionSort/150 5.526 ms 5.493 ms -0.6%
sort/insertionSort/200 9.863 ms 9.810 ms -0.5%
sort/insertionSort/250 15.46 ms 15.40 ms -0.4%
sort/insertionSort/300 22.43 ms 22.25 ms -0.8%
sort/mergeSort/50 574.5 μs 557.6 μs -2.9%
sort/mergeSort/100 1.315 ms 1.279 ms -2.7%
sort/mergeSort/150 2.124 ms 2.061 ms -3.0%
sort/mergeSort/200 2.976 ms 2.896 ms -2.7%
sort/mergeSort/250 3.904 ms 3.791 ms -2.9%
sort/mergeSort/300 4.743 ms 4.617 ms -2.7%
sort/quickSort/50 1.555 ms 1.572 ms +1.1%
sort/quickSort/100 6.367 ms 6.230 ms -2.2%
sort/quickSort/150 14.29 ms 14.32 ms +0.2%
sort/quickSort/200 25.37 ms 25.10 ms -1.1%
sort/quickSort/250 39.92 ms 39.11 ms -2.0%
sort/quickSort/300 57.80 ms 56.62 ms -2.0%
sum/compiled-from-Haskell/sum-right-builtin/100 77.67 μs 77.61 μs -0.1%
sum/compiled-from-Haskell/sum-right-builtin/500 405.9 μs 404.0 μs -0.5%
sum/compiled-from-Haskell/sum-right-builtin/1000 864.6 μs 858.8 μs -0.7%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.660 ms 2.652 ms -0.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.747 ms 5.733 ms -0.2%
sum/compiled-from-Haskell/sum-right-Scott/100 49.11 μs 48.08 μs -2.1%
sum/compiled-from-Haskell/sum-right-Scott/500 256.7 μs 253.3 μs -1.3%
sum/compiled-from-Haskell/sum-right-Scott/1000 558.3 μs 552.5 μs -1.0%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.887 ms 1.868 ms -1.0%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.598 ms 4.562 ms -0.8%
sum/compiled-from-Haskell/sum-right-data/100 256.7 μs 260.4 μs +1.4%
sum/compiled-from-Haskell/sum-right-data/500 1.413 ms 1.434 ms +1.5%
sum/compiled-from-Haskell/sum-right-data/1000 3.172 ms 3.199 ms +0.9%
sum/compiled-from-Haskell/sum-right-data/2500 8.516 ms 8.647 ms +1.5%
sum/compiled-from-Haskell/sum-right-data/5000 17.81 ms 18.01 ms +1.1%
sum/compiled-from-Haskell/sum-left-builtin/100 77.19 μs 77.11 μs -0.1%
sum/compiled-from-Haskell/sum-left-builtin/500 403.6 μs 404.9 μs +0.3%
sum/compiled-from-Haskell/sum-left-builtin/1000 859.5 μs 856.4 μs -0.4%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.636 ms 2.632 ms -0.2%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.756 ms 5.725 ms -0.5%
sum/compiled-from-Haskell/sum-left-Scott/100 47.68 μs 47.11 μs -1.2%
sum/compiled-from-Haskell/sum-left-Scott/500 251.3 μs 248.9 μs -1.0%
sum/compiled-from-Haskell/sum-left-Scott/1000 548.8 μs 541.9 μs -1.3%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.803 ms 1.790 ms -0.7%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.306 ms 4.269 ms -0.9%
sum/compiled-from-Haskell/sum-left-data/100 262.3 μs 267.3 μs +1.9%
sum/compiled-from-Haskell/sum-left-data/500 1.442 ms 1.480 ms +2.6%
sum/compiled-from-Haskell/sum-left-data/1000 3.248 ms 3.296 ms +1.5%
sum/compiled-from-Haskell/sum-left-data/2500 8.662 ms 8.841 ms +2.1%
sum/compiled-from-Haskell/sum-left-data/5000 18.28 ms 18.55 ms +1.5%
sum/hand-written-PLC/sum-right-builtin/100 51.58 μs 51.88 μs +0.6%
sum/hand-written-PLC/sum-right-builtin/500 262.0 μs 271.9 μs +3.8%
sum/hand-written-PLC/sum-right-builtin/1000 536.0 μs 539.5 μs +0.7%
sum/hand-written-PLC/sum-right-builtin/2500 1.558 ms 1.552 ms -0.4%
sum/hand-written-PLC/sum-right-builtin/5000 3.447 ms 3.465 ms +0.5%
sum/hand-written-PLC/sum-right-Scott/100 38.17 μs 37.14 μs -2.7%
sum/hand-written-PLC/sum-right-Scott/500 192.1 μs 188.7 μs -1.8%
sum/hand-written-PLC/sum-right-Scott/1000 402.3 μs 397.1 μs -1.3%
sum/hand-written-PLC/sum-right-Scott/2500 1.222 ms 1.200 ms -1.8%
sum/hand-written-PLC/sum-right-Scott/5000 3.098 ms 3.037 ms -2.0%
sum/hand-written-PLC/sum-left-builtin/100 55.04 μs 53.16 μs -3.4%
sum/hand-written-PLC/sum-left-builtin/500 269.0 μs 268.7 μs -0.1%
sum/hand-written-PLC/sum-left-builtin/1000 535.4 μs 537.0 μs +0.3%
sum/hand-written-PLC/sum-left-builtin/2500 1.328 ms 1.344 ms +1.2%
sum/hand-written-PLC/sum-left-builtin/5000 2.651 ms 2.671 ms +0.8%
sum/hand-written-PLC/sum-left-Scott/100 41.72 μs 40.88 μs -2.0%
sum/hand-written-PLC/sum-left-Scott/500 206.1 μs 203.0 μs -1.5%
sum/hand-written-PLC/sum-left-Scott/1000 421.1 μs 417.9 μs -0.8%
sum/hand-written-PLC/sum-left-Scott/2500 1.177 ms 1.178 ms +0.1%
sum/hand-written-PLC/sum-left-Scott/5000 2.721 ms 2.676 ms -1.7%
8007d8d 6e6e781 Change
TOTAL 339.9 ms 337.4 ms -0.7%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 189.1 μs 191.7 μs +1.4%
sort/ghcSort/100 438.4 μs 440.4 μs +0.5%
sort/ghcSort/150 759.6 μs 765.9 μs +0.8%
sort/ghcSort/200 1.021 ms 1.029 ms +0.8%
sort/ghcSort/250 1.314 ms 1.327 ms +1.0%
sort/ghcSort/300 1.740 ms 1.736 ms -0.2%
sort/insertionSort/50 605.2 μs 609.2 μs +0.7%
sort/insertionSort/100 2.409 ms 2.425 ms +0.7%
sort/insertionSort/150 5.418 ms 5.483 ms +1.2%
sort/insertionSort/200 9.653 ms 9.735 ms +0.8%
sort/insertionSort/250 15.12 ms 15.31 ms +1.3%
sort/insertionSort/300 21.88 ms 22.06 ms +0.8%
sort/mergeSort/50 566.0 μs 553.0 μs -2.3%
sort/mergeSort/100 1.296 ms 1.269 ms -2.1%
sort/mergeSort/150 2.089 ms 2.043 ms -2.2%
sort/mergeSort/200 2.931 ms 2.871 ms -2.0%
sort/mergeSort/250 3.853 ms 3.765 ms -2.3%
sort/mergeSort/300 4.672 ms 4.584 ms -1.9%
sort/quickSort/50 1.532 ms 1.519 ms -0.8%
sort/quickSort/100 6.270 ms 6.216 ms -0.9%
sort/quickSort/150 14.13 ms 14.52 ms +2.8%
sort/quickSort/200 25.07 ms 24.81 ms -1.0%
sort/quickSort/250 39.43 ms 40.48 ms +2.7%
sort/quickSort/300 57.12 ms 56.41 ms -1.2%
sum/compiled-from-Haskell/sum-right-builtin/100 77.39 μs 77.22 μs -0.2%
sum/compiled-from-Haskell/sum-right-builtin/500 402.3 μs 401.3 μs -0.2%
sum/compiled-from-Haskell/sum-right-builtin/1000 859.0 μs 856.2 μs -0.3%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.643 ms 2.635 ms -0.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.719 ms 5.702 ms -0.3%
sum/compiled-from-Haskell/sum-right-Scott/100 48.74 μs 48.46 μs -0.6%
sum/compiled-from-Haskell/sum-right-Scott/500 256.0 μs 251.5 μs -1.8%
sum/compiled-from-Haskell/sum-right-Scott/1000 556.5 μs 551.0 μs -1.0%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.882 ms 1.863 ms -1.0%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.581 ms 4.541 ms -0.9%
sum/compiled-from-Haskell/sum-right-data/100 254.6 μs 253.6 μs -0.4%
sum/compiled-from-Haskell/sum-right-data/500 1.393 ms 1.381 ms -0.9%
sum/compiled-from-Haskell/sum-right-data/1000 3.138 ms 3.107 ms -1.0%
sum/compiled-from-Haskell/sum-right-data/2500 8.431 ms 8.426 ms -0.1%
sum/compiled-from-Haskell/sum-right-data/5000 17.69 ms 17.60 ms -0.5%
sum/compiled-from-Haskell/sum-left-builtin/100 77.05 μs 76.70 μs -0.5%
sum/compiled-from-Haskell/sum-left-builtin/500 402.2 μs 401.0 μs -0.3%
sum/compiled-from-Haskell/sum-left-builtin/1000 859.1 μs 852.4 μs -0.8%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.632 ms 2.621 ms -0.4%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.722 ms 5.721 ms -0.0%
sum/compiled-from-Haskell/sum-left-Scott/100 47.65 μs 47.12 μs -1.1%
sum/compiled-from-Haskell/sum-left-Scott/500 250.5 μs 248.6 μs -0.8%
sum/compiled-from-Haskell/sum-left-Scott/1000 546.4 μs 541.3 μs -0.9%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.800 ms 1.785 ms -0.8%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.305 ms 4.247 ms -1.3%
sum/compiled-from-Haskell/sum-left-data/100 259.6 μs 259.4 μs -0.1%
sum/compiled-from-Haskell/sum-left-data/500 1.429 ms 1.440 ms +0.8%
sum/compiled-from-Haskell/sum-left-data/1000 3.219 ms 3.217 ms -0.1%
sum/compiled-from-Haskell/sum-left-data/2500 8.572 ms 8.599 ms +0.3%
sum/compiled-from-Haskell/sum-left-data/5000 18.07 ms 18.15 ms +0.4%
sum/hand-written-PLC/sum-right-builtin/100 51.11 μs 51.67 μs +1.1%
sum/hand-written-PLC/sum-right-builtin/500 259.2 μs 270.0 μs +4.2%
sum/hand-written-PLC/sum-right-builtin/1000 533.2 μs 554.8 μs +4.1%
sum/hand-written-PLC/sum-right-builtin/2500 1.543 ms 1.556 ms +0.8%
sum/hand-written-PLC/sum-right-builtin/5000 3.425 ms 3.459 ms +1.0%
sum/hand-written-PLC/sum-right-Scott/100 37.87 μs 37.46 μs -1.1%
sum/hand-written-PLC/sum-right-Scott/500 191.0 μs 189.4 μs -0.8%
sum/hand-written-PLC/sum-right-Scott/1000 400.6 μs 390.6 μs -2.5%
sum/hand-written-PLC/sum-right-Scott/2500 1.215 ms 1.207 ms -0.7%
sum/hand-written-PLC/sum-right-Scott/5000 3.075 ms 3.060 ms -0.5%
sum/hand-written-PLC/sum-left-builtin/100 54.05 μs 53.12 μs -1.7%
sum/hand-written-PLC/sum-left-builtin/500 268.4 μs 267.0 μs -0.5%
sum/hand-written-PLC/sum-left-builtin/1000 532.6 μs 535.0 μs +0.5%
sum/hand-written-PLC/sum-left-builtin/2500 1.323 ms 1.333 ms +0.8%
sum/hand-written-PLC/sum-left-builtin/5000 2.642 ms 2.666 ms +0.9%
sum/hand-written-PLC/sum-left-Scott/100 41.14 μs 40.71 μs -1.0%
sum/hand-written-PLC/sum-left-Scott/500 202.1 μs 202.2 μs +0.0%
sum/hand-written-PLC/sum-left-Scott/1000 418.4 μs 417.2 μs -0.3%
sum/hand-written-PLC/sum-left-Scott/2500 1.170 ms 1.163 ms -0.6%
sum/hand-written-PLC/sum-left-Scott/5000 2.683 ms 2.659 ms -0.9%
8007d8d 6e6e781 Change
TOTAL 335.7 ms 336.2 ms +0.1%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '8007d8d370' (base) and '6e6e781394' (PR)

Results table
Script 8007d8d 6e6e781 Change
sort/ghcSort/50 189.3 μs 194.6 μs +2.8%
sort/ghcSort/100 439.6 μs 450.3 μs +2.4%
sort/ghcSort/150 759.6 μs 762.4 μs +0.4%
sort/ghcSort/200 1.021 ms 1.023 ms +0.2%
sort/ghcSort/250 1.318 ms 1.341 ms +1.7%
sort/ghcSort/300 1.743 ms 1.741 ms -0.1%
sort/insertionSort/50 605.6 μs 612.3 μs +1.1%
sort/insertionSort/100 2.409 ms 2.438 ms +1.2%
sort/insertionSort/150 5.423 ms 5.547 ms +2.3%
sort/insertionSort/200 9.669 ms 9.883 ms +2.2%
sort/insertionSort/250 15.17 ms 15.39 ms +1.5%
sort/insertionSort/300 21.92 ms 22.23 ms +1.4%
sort/mergeSort/50 567.2 μs 556.5 μs -1.9%
sort/mergeSort/100 1.298 ms 1.275 ms -1.8%
sort/mergeSort/150 2.093 ms 2.057 ms -1.7%
sort/mergeSort/200 2.939 ms 2.887 ms -1.8%
sort/mergeSort/250 3.846 ms 3.791 ms -1.4%
sort/mergeSort/300 4.691 ms 4.635 ms -1.2%
sort/quickSort/50 1.535 ms 1.535 ms 0.0%
sort/quickSort/100 6.285 ms 6.199 ms -1.4%
sort/quickSort/150 14.17 ms 14.51 ms +2.4%
sort/quickSort/200 25.12 ms 25.34 ms +0.9%
sort/quickSort/250 39.69 ms 39.10 ms -1.5%
sort/quickSort/300 57.71 ms 56.49 ms -2.1%
sum/compiled-from-Haskell/sum-right-builtin/100 78.06 μs 77.58 μs -0.6%
sum/compiled-from-Haskell/sum-right-builtin/500 406.5 μs 404.3 μs -0.5%
sum/compiled-from-Haskell/sum-right-builtin/1000 869.3 μs 859.8 μs -1.1%
sum/compiled-from-Haskell/sum-right-builtin/2500 2.671 ms 2.647 ms -0.9%
sum/compiled-from-Haskell/sum-right-builtin/5000 5.776 ms 5.704 ms -1.2%
sum/compiled-from-Haskell/sum-right-Scott/100 49.21 μs 48.15 μs -2.2%
sum/compiled-from-Haskell/sum-right-Scott/500 257.9 μs 253.0 μs -1.9%
sum/compiled-from-Haskell/sum-right-Scott/1000 561.8 μs 551.4 μs -1.9%
sum/compiled-from-Haskell/sum-right-Scott/2500 1.900 ms 1.865 ms -1.8%
sum/compiled-from-Haskell/sum-right-Scott/5000 4.630 ms 4.541 ms -1.9%
sum/compiled-from-Haskell/sum-right-data/100 256.0 μs 253.3 μs -1.1%
sum/compiled-from-Haskell/sum-right-data/500 1.392 ms 1.394 ms +0.1%
sum/compiled-from-Haskell/sum-right-data/1000 3.164 ms 3.127 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/2500 8.530 ms 8.432 ms -1.1%
sum/compiled-from-Haskell/sum-right-data/5000 17.79 ms 17.63 ms -0.9%
sum/compiled-from-Haskell/sum-left-builtin/100 77.49 μs 76.99 μs -0.6%
sum/compiled-from-Haskell/sum-left-builtin/500 406.5 μs 402.0 μs -1.1%
sum/compiled-from-Haskell/sum-left-builtin/1000 863.2 μs 855.3 μs -0.9%
sum/compiled-from-Haskell/sum-left-builtin/2500 2.652 ms 2.630 ms -0.8%
sum/compiled-from-Haskell/sum-left-builtin/5000 5.777 ms 5.717 ms -1.0%
sum/compiled-from-Haskell/sum-left-Scott/100 48.07 μs 47.08 μs -2.1%
sum/compiled-from-Haskell/sum-left-Scott/500 253.0 μs 248.6 μs -1.7%
sum/compiled-from-Haskell/sum-left-Scott/1000 550.1 μs 541.3 μs -1.6%
sum/compiled-from-Haskell/sum-left-Scott/2500 1.816 ms 1.783 ms -1.8%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.325 ms 4.246 ms -1.8%
sum/compiled-from-Haskell/sum-left-data/100 261.1 μs 264.7 μs +1.4%
sum/compiled-from-Haskell/sum-left-data/500 1.445 ms 1.457 ms +0.8%
sum/compiled-from-Haskell/sum-left-data/1000 3.236 ms 3.247 ms +0.3%
sum/compiled-from-Haskell/sum-left-data/2500 8.668 ms 8.685 ms +0.2%
sum/compiled-from-Haskell/sum-left-data/5000 18.23 ms 18.29 ms +0.3%
sum/hand-written-PLC/sum-right-builtin/100 51.64 μs 52.15 μs +1.0%
sum/hand-written-PLC/sum-right-builtin/500 262.8 μs 262.5 μs -0.1%
sum/hand-written-PLC/sum-right-builtin/1000 541.0 μs 560.0 μs +3.5%
sum/hand-written-PLC/sum-right-builtin/2500 1.549 ms 1.610 ms +3.9%
sum/hand-written-PLC/sum-right-builtin/5000 3.437 ms 3.565 ms +3.7%
sum/hand-written-PLC/sum-right-Scott/100 37.92 μs 37.10 μs -2.2%
sum/hand-written-PLC/sum-right-Scott/500 193.1 μs 188.8 μs -2.2%
sum/hand-written-PLC/sum-right-Scott/1000 404.9 μs 395.0 μs -2.4%
sum/hand-written-PLC/sum-right-Scott/2500 1.227 ms 1.201 ms -2.1%
sum/hand-written-PLC/sum-right-Scott/5000 3.095 ms 3.034 ms -2.0%
sum/hand-written-PLC/sum-left-builtin/100 54.29 μs 53.80 μs -0.9%
sum/hand-written-PLC/sum-left-builtin/500 269.9 μs 270.2 μs +0.1%
sum/hand-written-PLC/sum-left-builtin/1000 536.8 μs 542.3 μs +1.0%
sum/hand-written-PLC/sum-left-builtin/2500 1.334 ms 1.354 ms +1.5%
sum/hand-written-PLC/sum-left-builtin/5000 2.654 ms 2.684 ms +1.1%
sum/hand-written-PLC/sum-left-Scott/100 41.43 μs 40.74 μs -1.7%
sum/hand-written-PLC/sum-left-Scott/500 205.9 μs 203.5 μs -1.2%
sum/hand-written-PLC/sum-left-Scott/1000 420.9 μs 424.0 μs +0.7%
sum/hand-written-PLC/sum-left-Scott/2500 1.181 ms 1.164 ms -1.4%
sum/hand-written-PLC/sum-left-Scott/5000 2.710 ms 2.668 ms -1.5%
8007d8d 6e6e781 Change
TOTAL 337.8 ms 336.6 ms -0.4%

@effectfully
Copy link
Contributor Author

effectfully commented Mar 13, 2025

OK, mergeSort is genuinely ~2% faster. sum-left-Scott appears to be faster too, but less than that.

This isn't a large difference, but we should probably still do it, since it's so easy.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant