Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[Builtins] Make 'BuiltinSuccess' the first constructor #5885

Conversation

effectfully
Copy link
Contributor

@effectfully effectfully commented Apr 8, 2024

This makes BuiltinSuccess the first constructor of BuiltinResult, see the comment there of why we want that.

See this comment for the very ambiguous benchmarking results.

@effectfully
Copy link
Contributor Author

/benchmark lists

Copy link
Contributor

github-actions bot commented Apr 8, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Apr 9, 2024

Comparing benchmark results of 'lists' on '191103257' (base) and 'b1ee0ff59' (PR)

Results table
Script 1911032 b1ee0ff Change
sort/ghcSort/10 37.78 μs 37.88 μs +0.3%
sort/ghcSort/20 87.68 μs 87.73 μs +0.1%
sort/ghcSort/30 136.3 μs 135.1 μs -0.9%
sort/ghcSort/40 201.1 μs 201.7 μs +0.3%
sort/ghcSort/50 248.4 μs 248.1 μs -0.1%
sort/ghcSort/60 312.2 μs 311.8 μs -0.1%
sort/ghcSort/70 409.4 μs 408.7 μs -0.2%
sort/ghcSort/80 463.9 μs 464.2 μs +0.1%
sort/ghcSort/90 513.6 μs 512.1 μs -0.3%
sort/ghcSort/100 577.1 μs 576.1 μs -0.2%
sort/ghcSort/110 637.4 μs 634.5 μs -0.5%
sort/ghcSort/120 722.5 μs 718.6 μs -0.5%
sort/ghcSort/130 887.8 μs 886.1 μs -0.2%
sort/ghcSort/140 938.2 μs 934.5 μs -0.4%
sort/ghcSort/150 1.003 ms 1.004 ms +0.1%
sort/ghcSort/160 1.071 ms 1.071 ms 0.0%
sort/ghcSort/170 1.128 ms 1.126 ms -0.2%
sort/ghcSort/180 1.188 ms 1.185 ms -0.3%
sort/ghcSort/190 1.261 ms 1.254 ms -0.6%
sort/ghcSort/200 1.354 ms 1.344 ms -0.7%
sort/ghcSort/210 1.412 ms 1.402 ms -0.7%
sort/ghcSort/220 1.475 ms 1.466 ms -0.6%
sort/ghcSort/230 1.580 ms 1.571 ms -0.6%
sort/ghcSort/240 1.661 ms 1.657 ms -0.2%
sort/ghcSort/250 1.756 ms 1.743 ms -0.7%
sort/ghcSort/260 2.021 ms 2.010 ms -0.5%
sort/ghcSort/270 2.075 ms 2.067 ms -0.4%
sort/ghcSort/280 2.142 ms 2.136 ms -0.3%
sort/ghcSort/290 2.218 ms 2.207 ms -0.5%
sort/ghcSort/300 2.293 ms 2.286 ms -0.3%
sort/ghcSort/310 2.378 ms 2.371 ms -0.3%
sort/ghcSort/320 2.455 ms 2.442 ms -0.5%
sort/ghcSort/330 2.531 ms 2.513 ms -0.7%
sort/ghcSort/340 2.585 ms 2.589 ms +0.2%
sort/ghcSort/350 2.658 ms 2.650 ms -0.3%
sort/ghcSort/360 2.719 ms 2.720 ms +0.0%
sort/ghcSort/370 2.795 ms 2.798 ms +0.1%
sort/ghcSort/380 2.896 ms 2.885 ms -0.4%
sort/ghcSort/390 3.027 ms 3.022 ms -0.2%
sort/ghcSort/400 3.101 ms 3.091 ms -0.3%
sort/ghcSort/410 3.155 ms 3.130 ms -0.8%
sort/ghcSort/420 3.272 ms 3.240 ms -1.0%
sort/ghcSort/430 3.315 ms 3.290 ms -0.8%
sort/ghcSort/440 3.411 ms 3.390 ms -0.6%
sort/ghcSort/450 3.591 ms 3.574 ms -0.5%
sort/ghcSort/460 3.638 ms 3.624 ms -0.4%
sort/ghcSort/470 3.719 ms 3.705 ms -0.4%
sort/ghcSort/480 3.848 ms 3.830 ms -0.5%
sort/ghcSort/490 3.923 ms 3.912 ms -0.3%
sort/ghcSort/500 4.044 ms 4.017 ms -0.7%
sort/insertionSort/10 36.56 μs 36.69 μs +0.4%
sort/insertionSort/20 134.3 μs 135.1 μs +0.6%
sort/insertionSort/30 293.4 μs 295.5 μs +0.7%
sort/insertionSort/40 515.0 μs 522.0 μs +1.4%
sort/insertionSort/50 800.9 μs 810.3 μs +1.2%
sort/insertionSort/60 1.147 ms 1.162 ms +1.3%
sort/insertionSort/70 1.555 ms 1.580 ms +1.6%
sort/insertionSort/80 2.025 ms 2.058 ms +1.6%
sort/insertionSort/90 2.569 ms 2.597 ms +1.1%
sort/insertionSort/100 3.152 ms 3.216 ms +2.0%
sort/insertionSort/110 3.833 ms 3.885 ms +1.4%
sort/insertionSort/120 4.501 ms 4.617 ms +2.6%
sort/insertionSort/130 5.301 ms 5.414 ms +2.1%
sort/insertionSort/140 6.154 ms 6.279 ms +2.0%
sort/insertionSort/150 7.067 ms 7.222 ms +2.2%
sort/insertionSort/160 8.034 ms 8.221 ms +2.3%
sort/insertionSort/170 9.077 ms 9.254 ms +1.9%
sort/insertionSort/180 10.18 ms 10.38 ms +2.0%
sort/insertionSort/190 11.32 ms 11.58 ms +2.3%
sort/insertionSort/200 12.57 ms 12.85 ms +2.2%
sort/insertionSort/210 13.89 ms 14.19 ms +2.2%
sort/insertionSort/220 15.28 ms 15.58 ms +2.0%
sort/insertionSort/230 16.66 ms 17.04 ms +2.3%
sort/insertionSort/240 18.19 ms 18.61 ms +2.3%
sort/insertionSort/250 19.74 ms 20.17 ms +2.2%
sort/insertionSort/260 21.31 ms 21.88 ms +2.7%
sort/insertionSort/270 23.07 ms 23.59 ms +2.3%
sort/insertionSort/280 24.87 ms 25.32 ms +1.8%
sort/insertionSort/290 26.72 ms 27.24 ms +1.9%
sort/insertionSort/300 28.57 ms 29.24 ms +2.3%
sort/insertionSort/310 30.47 ms 31.12 ms +2.1%
sort/insertionSort/320 32.54 ms 33.31 ms +2.4%
sort/insertionSort/330 34.69 ms 35.39 ms +2.0%
sort/insertionSort/340 36.77 ms 37.57 ms +2.2%
sort/insertionSort/350 38.98 ms 39.94 ms +2.5%
sort/insertionSort/360 41.31 ms 42.32 ms +2.4%
sort/insertionSort/370 43.66 ms 44.63 ms +2.2%
sort/insertionSort/380 46.06 ms 47.06 ms +2.2%
sort/insertionSort/390 48.58 ms 49.76 ms +2.4%
sort/insertionSort/400 51.22 ms 52.36 ms +2.2%
sort/insertionSort/410 53.94 ms 55.02 ms +2.0%
sort/insertionSort/420 56.72 ms 58.06 ms +2.4%
sort/insertionSort/430 59.38 ms 60.62 ms +2.1%
sort/insertionSort/440 62.10 ms 63.61 ms +2.4%
sort/insertionSort/450 65.12 ms 66.53 ms +2.2%
sort/insertionSort/460 68.13 ms 69.70 ms +2.3%
sort/insertionSort/470 71.10 ms 72.78 ms +2.4%
sort/insertionSort/480 74.15 ms 75.90 ms +2.4%
sort/insertionSort/490 77.47 ms 79.22 ms +2.3%
sort/insertionSort/500 80.97 ms 82.62 ms +2.0%
sort/mergeSort/10 96.27 μs 95.96 μs -0.3%
sort/mergeSort/20 235.3 μs 234.0 μs -0.6%
sort/mergeSort/30 388.4 μs 386.5 μs -0.5%
sort/mergeSort/40 554.2 μs 551.8 μs -0.4%
sort/mergeSort/50 719.5 μs 717.9 μs -0.2%
sort/mergeSort/60 897.1 μs 894.3 μs -0.3%
sort/mergeSort/70 1.078 ms 1.078 ms 0.0%
sort/mergeSort/80 1.265 ms 1.269 ms +0.3%
sort/mergeSort/90 1.460 ms 1.461 ms +0.1%
sort/mergeSort/100 1.645 ms 1.650 ms +0.3%
sort/mergeSort/110 1.845 ms 1.852 ms +0.4%
sort/mergeSort/120 2.053 ms 2.054 ms +0.0%
sort/mergeSort/130 2.285 ms 2.287 ms +0.1%
sort/mergeSort/140 2.456 ms 2.465 ms +0.4%
sort/mergeSort/150 2.654 ms 2.656 ms +0.1%
sort/mergeSort/160 2.882 ms 2.888 ms +0.2%
sort/mergeSort/170 3.074 ms 3.085 ms +0.4%
sort/mergeSort/180 3.303 ms 3.307 ms +0.1%
sort/mergeSort/190 3.525 ms 3.524 ms -0.0%
sort/mergeSort/200 3.723 ms 3.725 ms +0.1%
sort/mergeSort/210 3.945 ms 3.967 ms +0.6%
sort/mergeSort/220 4.155 ms 4.162 ms +0.2%
sort/mergeSort/230 4.397 ms 4.393 ms -0.1%
sort/mergeSort/240 4.613 ms 4.632 ms +0.4%
sort/mergeSort/250 4.857 ms 4.892 ms +0.7%
sort/mergeSort/260 5.127 ms 5.125 ms -0.0%
sort/mergeSort/270 5.296 ms 5.311 ms +0.3%
sort/mergeSort/280 5.511 ms 5.526 ms +0.3%
sort/mergeSort/290 5.711 ms 5.720 ms +0.2%
sort/mergeSort/300 5.946 ms 5.934 ms -0.2%
sort/mergeSort/310 6.168 ms 6.169 ms +0.0%
sort/mergeSort/320 6.437 ms 6.449 ms +0.2%
sort/mergeSort/330 6.649 ms 6.647 ms -0.0%
sort/mergeSort/340 6.888 ms 6.911 ms +0.3%
sort/mergeSort/350 7.129 ms 7.154 ms +0.4%
sort/mergeSort/360 7.369 ms 7.394 ms +0.3%
sort/mergeSort/370 7.610 ms 7.630 ms +0.3%
sort/mergeSort/380 7.852 ms 7.894 ms +0.5%
sort/mergeSort/390 8.102 ms 8.134 ms +0.4%
sort/mergeSort/400 8.324 ms 8.319 ms -0.1%
sort/mergeSort/410 8.581 ms 8.600 ms +0.2%
sort/mergeSort/420 8.833 ms 8.845 ms +0.1%
sort/mergeSort/430 9.082 ms 9.093 ms +0.1%
sort/mergeSort/440 9.278 ms 9.298 ms +0.2%
sort/mergeSort/450 9.522 ms 9.542 ms +0.2%
sort/mergeSort/460 9.791 ms 9.811 ms +0.2%
sort/mergeSort/470 10.07 ms 10.07 ms 0.0%
sort/mergeSort/480 10.30 ms 10.29 ms -0.1%
sort/mergeSort/490 10.58 ms 10.54 ms -0.4%
sort/mergeSort/500 10.87 ms 10.88 ms +0.1%
sort/quickSort/10 85.01 μs 86.11 μs +1.3%
sort/quickSort/20 318.6 μs 321.2 μs +0.8%
sort/quickSort/30 703.5 μs 706.8 μs +0.5%
sort/quickSort/40 1.256 ms 1.257 ms +0.1%
sort/quickSort/50 1.978 ms 1.981 ms +0.2%
sort/quickSort/60 2.854 ms 2.863 ms +0.3%
sort/quickSort/70 3.890 ms 3.888 ms -0.1%
sort/quickSort/80 5.105 ms 5.115 ms +0.2%
sort/quickSort/90 6.496 ms 6.500 ms +0.1%
sort/quickSort/100 7.930 ms 7.952 ms +0.3%
sort/quickSort/110 9.611 ms 9.652 ms +0.4%
sort/quickSort/120 11.47 ms 11.49 ms +0.2%
sort/quickSort/130 13.47 ms 13.46 ms -0.1%
sort/quickSort/140 15.48 ms 15.45 ms -0.2%
sort/quickSort/150 17.87 ms 17.89 ms +0.1%
sort/quickSort/160 20.29 ms 20.30 ms +0.0%
sort/quickSort/170 22.86 ms 22.93 ms +0.3%
sort/quickSort/180 25.62 ms 25.60 ms -0.1%
sort/quickSort/190 28.57 ms 28.50 ms -0.2%
sort/quickSort/200 31.53 ms 31.59 ms +0.2%
sort/quickSort/210 34.83 ms 34.75 ms -0.2%
sort/quickSort/220 38.23 ms 38.26 ms +0.1%
sort/quickSort/230 41.86 ms 41.60 ms -0.6%
sort/quickSort/240 45.60 ms 45.40 ms -0.4%
sort/quickSort/250 49.53 ms 49.11 ms -0.8%
sort/quickSort/260 53.48 ms 52.92 ms -1.0%
sort/quickSort/270 57.71 ms 57.01 ms -1.2%
sort/quickSort/280 61.93 ms 61.76 ms -0.3%
sort/quickSort/290 66.58 ms 66.17 ms -0.6%
sort/quickSort/300 71.34 ms 71.15 ms -0.3%
sort/quickSort/310 76.32 ms 75.62 ms -0.9%
sort/quickSort/320 81.31 ms 81.05 ms -0.3%
sort/quickSort/330 86.43 ms 85.99 ms -0.5%
sort/quickSort/340 91.79 ms 91.28 ms -0.6%
sort/quickSort/350 97.56 ms 96.92 ms -0.7%
sort/quickSort/360 103.4 ms 102.8 ms -0.6%
sort/quickSort/370 109.6 ms 108.8 ms -0.7%
sort/quickSort/380 115.2 ms 114.7 ms -0.4%
sort/quickSort/390 121.6 ms 121.2 ms -0.3%
sort/quickSort/400 128.1 ms 127.5 ms -0.5%
sort/quickSort/410 134.7 ms 134.0 ms -0.5%
sort/quickSort/420 140.7 ms 140.3 ms -0.3%
sort/quickSort/430 147.9 ms 147.6 ms -0.2%
sort/quickSort/440 155.6 ms 154.8 ms -0.5%
sort/quickSort/450 162.0 ms 161.9 ms -0.1%
sort/quickSort/460 169.5 ms 169.3 ms -0.1%
sort/quickSort/470 177.0 ms 176.5 ms -0.3%
sort/quickSort/480 185.9 ms 184.6 ms -0.7%
sort/quickSort/490 192.7 ms 193.0 ms +0.2%
sort/quickSort/500 201.0 ms 201.2 ms +0.1%
sum/compiled-from-Haskell/sum-right-builtin/10 10.13 μs 9.847 μs -2.8%
sum/compiled-from-Haskell/sum-right-builtin/50 47.32 μs 46.17 μs -2.4%
sum/compiled-from-Haskell/sum-right-builtin/100 95.86 μs 94.10 μs -1.8%
sum/compiled-from-Haskell/sum-right-builtin/500 513.6 μs 505.9 μs -1.5%
sum/compiled-from-Haskell/sum-right-builtin/1000 1.134 ms 1.116 ms -1.6%
sum/compiled-from-Haskell/sum-right-builtin/5000 7.749 ms 7.594 ms -2.0%
sum/compiled-from-Haskell/sum-right-builtin/10000 17.06 ms 16.90 ms -0.9%
sum/compiled-from-Haskell/sum-right-Scott/10 7.438 μs 7.314 μs -1.7%
sum/compiled-from-Haskell/sum-right-Scott/50 34.59 μs 34.29 μs -0.9%
sum/compiled-from-Haskell/sum-right-Scott/100 68.91 μs 68.73 μs -0.3%
sum/compiled-from-Haskell/sum-right-Scott/500 368.7 μs 366.9 μs -0.5%
sum/compiled-from-Haskell/sum-right-Scott/1000 807.7 μs 801.6 μs -0.8%
sum/compiled-from-Haskell/sum-right-Scott/5000 6.145 ms 6.135 ms -0.2%
sum/compiled-from-Haskell/sum-right-Scott/10000 14.73 ms 14.68 ms -0.3%
sum/compiled-from-Haskell/sum-right-data/10 24.74 μs 24.03 μs -2.9%
sum/compiled-from-Haskell/sum-right-data/50 118.0 μs 115.7 μs -1.9%
sum/compiled-from-Haskell/sum-right-data/100 236.0 μs 229.9 μs -2.6%
sum/compiled-from-Haskell/sum-right-data/500 1.316 ms 1.295 ms -1.6%
sum/compiled-from-Haskell/sum-right-data/1000 2.989 ms 2.953 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/5000 17.03 ms 16.87 ms -0.9%
sum/compiled-from-Haskell/sum-right-data/10000 35.26 ms 35.24 ms -0.1%
sum/compiled-from-Haskell/sum-left-builtin/10 9.743 μs 9.420 μs -3.3%
sum/compiled-from-Haskell/sum-left-builtin/50 45.65 μs 44.49 μs -2.5%
sum/compiled-from-Haskell/sum-left-builtin/100 92.14 μs 90.40 μs -1.9%
sum/compiled-from-Haskell/sum-left-builtin/500 491.8 μs 483.0 μs -1.8%
sum/compiled-from-Haskell/sum-left-builtin/1000 1.094 ms 1.073 ms -1.9%
sum/compiled-from-Haskell/sum-left-builtin/5000 7.555 ms 7.407 ms -2.0%
sum/compiled-from-Haskell/sum-left-builtin/10000 16.29 ms 16.00 ms -1.8%
sum/compiled-from-Haskell/sum-left-Scott/10 7.250 μs 7.195 μs -0.8%
sum/compiled-from-Haskell/sum-left-Scott/50 33.70 μs 33.69 μs -0.0%
sum/compiled-from-Haskell/sum-left-Scott/100 67.38 μs 67.25 μs -0.2%
sum/compiled-from-Haskell/sum-left-Scott/500 355.3 μs 357.0 μs +0.5%
sum/compiled-from-Haskell/sum-left-Scott/1000 777.1 μs 777.6 μs +0.1%
sum/compiled-from-Haskell/sum-left-Scott/5000 6.208 ms 6.223 ms +0.2%
sum/compiled-from-Haskell/sum-left-Scott/10000 13.98 ms 14.02 ms +0.3%
sum/compiled-from-Haskell/sum-left-data/10 24.20 μs 23.46 μs -3.1%
sum/compiled-from-Haskell/sum-left-data/50 119.5 μs 115.9 μs -3.0%
sum/compiled-from-Haskell/sum-left-data/100 240.5 μs 234.7 μs -2.4%
sum/compiled-from-Haskell/sum-left-data/500 1.338 ms 1.315 ms -1.7%
sum/compiled-from-Haskell/sum-left-data/1000 3.057 ms 3.012 ms -1.5%
sum/compiled-from-Haskell/sum-left-data/5000 17.32 ms 17.10 ms -1.3%
sum/compiled-from-Haskell/sum-left-data/10000 35.47 ms 35.28 ms -0.5%
sum/hand-written-PLC/sum-right-builtin/10 9.653 μs 9.464 μs -2.0%
sum/hand-written-PLC/sum-right-builtin/50 44.70 μs 43.90 μs -1.8%
sum/hand-written-PLC/sum-right-builtin/100 88.13 μs 86.61 μs -1.7%
sum/hand-written-PLC/sum-right-builtin/500 452.0 μs 441.6 μs -2.3%
sum/hand-written-PLC/sum-right-builtin/1000 934.4 μs 916.4 μs -1.9%
sum/hand-written-PLC/sum-right-builtin/5000 5.468 ms 5.368 ms -1.8%
sum/hand-written-PLC/sum-right-builtin/10000 11.12 ms 10.97 ms -1.3%
sum/hand-written-PLC/sum-right-Scott/10 5.993 μs 5.921 μs -1.2%
sum/hand-written-PLC/sum-right-Scott/50 26.22 μs 25.93 μs -1.1%
sum/hand-written-PLC/sum-right-Scott/100 50.75 μs 50.20 μs -1.1%
sum/hand-written-PLC/sum-right-Scott/500 260.6 μs 258.7 μs -0.7%
sum/hand-written-PLC/sum-right-Scott/1000 546.5 μs 542.3 μs -0.8%
sum/hand-written-PLC/sum-right-Scott/5000 3.872 ms 3.809 ms -1.6%
sum/hand-written-PLC/sum-right-Scott/10000 8.608 ms 8.553 ms -0.6%
sum/hand-written-PLC/sum-left-builtin/10 10.15 μs 10.00 μs -1.5%
sum/hand-written-PLC/sum-left-builtin/50 46.27 μs 45.84 μs -0.9%
sum/hand-written-PLC/sum-left-builtin/100 90.83 μs 89.87 μs -1.1%
sum/hand-written-PLC/sum-left-builtin/500 442.8 μs 442.7 μs -0.0%
sum/hand-written-PLC/sum-left-builtin/1000 885.9 μs 877.3 μs -1.0%
sum/hand-written-PLC/sum-left-builtin/5000 4.393 ms 4.343 ms -1.1%
sum/hand-written-PLC/sum-left-builtin/10000 8.771 ms 8.674 ms -1.1%
sum/hand-written-PLC/sum-left-Scott/10 5.989 μs 6.100 μs +1.9%
sum/hand-written-PLC/sum-left-Scott/50 26.85 μs 27.52 μs +2.5%
sum/hand-written-PLC/sum-left-Scott/100 54.90 μs 54.64 μs -0.5%
sum/hand-written-PLC/sum-left-Scott/500 272.4 μs 272.1 μs -0.1%
sum/hand-written-PLC/sum-left-Scott/1000 553.3 μs 554.3 μs +0.2%
sum/hand-written-PLC/sum-left-Scott/5000 3.373 ms 3.381 ms +0.2%
sum/hand-written-PLC/sum-left-Scott/10000 7.036 ms 6.945 ms -1.3%
TOTAL 5.416 s 5.433 s +0.3%

@effectfully
Copy link
Contributor Author

/benchmark nofib

Copy link
Contributor

github-actions bot commented Apr 9, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Apr 9, 2024

Comparing benchmark results of 'nofib' on '191103257' (base) and 'b1ee0ff59' (PR)

Results table
Script 1911032 b1ee0ff Change
clausify/formula1 4.024 ms 3.935 ms -2.2%
clausify/formula2 5.306 ms 5.191 ms -2.2%
clausify/formula3 14.48 ms 14.13 ms -2.4%
clausify/formula4 31.12 ms 29.67 ms -4.7%
clausify/formula5 70.17 ms 68.27 ms -2.7%
knights/4x4 20.94 ms 19.16 ms -8.5%
knights/6x6 54.36 ms 50.06 ms -7.9%
knights/8x8 95.13 ms 87.91 ms -7.6%
primetest/05digits 11.77 ms 10.25 ms -12.9%
primetest/08digits 18.84 ms 16.53 ms -12.3%
primetest/10digits 22.81 ms 19.91 ms -12.7%
primetest/20digits 44.89 ms 39.52 ms -12.0%
primetest/30digits 69.09 ms 60.64 ms -12.2%
primetest/40digits 92.81 ms 81.85 ms -11.8%
primetest/50digits 113.5 ms 100.2 ms -11.7%
queens4x4/bt 6.236 ms 5.907 ms -5.3%
queens4x4/bm 8.083 ms 7.587 ms -6.1%
queens4x4/bjbt1 7.590 ms 7.243 ms -4.6%
queens4x4/bjbt2 7.088 ms 6.730 ms -5.1%
queens4x4/fc 16.42 ms 15.52 ms -5.5%
queens5x5/bt 83.93 ms 79.04 ms -5.8%
queens5x5/bm 90.42 ms 84.56 ms -6.5%
queens5x5/bjbt1 98.19 ms 92.73 ms -5.6%
queens5x5/bjbt2 95.23 ms 89.77 ms -5.7%
queens5x5/fc 208.9 ms 196.4 ms -6.0%
TOTAL 1.291 s 1.193 s -7.6%

@effectfully
Copy link
Contributor Author

/benchmark nofib

1 similar comment
@effectfully
Copy link
Contributor Author

/benchmark nofib

@effectfully
Copy link
Contributor Author

/benchmark validation

@effectfully
Copy link
Contributor Author

effectfully commented Apr 9, 2024

@aadaa-fgtaa is telling me that simply making the constructor first isn't anywhere near being a reliable way to force GHC to branch-predict it and that for e.g.

data Foo = Bar | Baz

f Bar = 1#
f Baz = 2#

GHC would branch-predict the second one. Making the BuiltinSuccess case recursive would help, except... it already is! So why does reordering the constructors help? God knows.

@aadaa-fgtaa also referenced this GHC ticket.

We don't lose anything by reordering the constructors though, so if it helps some benchmarks, let's just do it and pray that GHC doesn't break things.

Copy link
Contributor

github-actions bot commented Apr 9, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on '191103257' (base) and 'b1ee0ff59' (PR)

Results table
Script 1911032 b1ee0ff Change
clausify/formula1 3.909 ms 3.925 ms +0.4%
clausify/formula2 5.147 ms 5.178 ms +0.6%
clausify/formula3 14.03 ms 14.13 ms +0.7%
clausify/formula4 29.27 ms 29.70 ms +1.5%
clausify/formula5 67.74 ms 68.26 ms +0.8%
knights/4x4 18.98 ms 19.13 ms +0.8%
knights/6x6 49.88 ms 50.05 ms +0.3%
knights/8x8 87.52 ms 87.82 ms +0.3%
primetest/05digits 10.15 ms 10.22 ms +0.7%
primetest/08digits 16.81 ms 16.47 ms -2.0%
primetest/10digits 20.04 ms 19.81 ms -1.1%
primetest/20digits 39.02 ms 39.40 ms +1.0%
primetest/30digits 59.98 ms 60.58 ms +1.0%
primetest/40digits 81.31 ms 81.48 ms +0.2%
primetest/50digits 99.07 ms 99.89 ms +0.8%
queens4x4/bt 5.855 ms 5.916 ms +1.0%
queens4x4/bm 7.579 ms 7.597 ms +0.2%
queens4x4/bjbt1 7.166 ms 7.251 ms +1.2%
queens4x4/bjbt2 6.661 ms 6.747 ms +1.3%
queens4x4/fc 15.59 ms 15.56 ms -0.2%
queens5x5/bt 78.10 ms 79.25 ms +1.5%
queens5x5/bm 84.61 ms 84.77 ms +0.2%
queens5x5/bjbt1 91.96 ms 92.87 ms +1.0%
queens5x5/bjbt2 88.86 ms 89.91 ms +1.2%
queens5x5/fc 196.4 ms 196.8 ms +0.2%
TOTAL 1.186 s 1.193 s +0.6%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on '191103257' (base) and 'b1ee0ff59' (PR)

Results table
Script 1911032 b1ee0ff Change
clausify/formula1 3.894 ms 3.924 ms +0.8%
clausify/formula2 5.130 ms 5.172 ms +0.8%
clausify/formula3 13.95 ms 14.07 ms +0.9%
clausify/formula4 29.10 ms 29.63 ms +1.8%
clausify/formula5 67.40 ms 68.36 ms +1.4%
knights/4x4 18.97 ms 19.16 ms +1.0%
knights/6x6 49.70 ms 50.01 ms +0.6%
knights/8x8 87.48 ms 87.53 ms +0.1%
primetest/05digits 10.56 ms 10.46 ms -0.9%
primetest/08digits 16.70 ms 16.46 ms -1.4%
primetest/10digits 20.74 ms 19.83 ms -4.4%
primetest/20digits 40.79 ms 39.43 ms -3.3%
primetest/30digits 60.85 ms 60.53 ms -0.5%
primetest/40digits 84.11 ms 81.71 ms -2.9%
primetest/50digits 100.4 ms 99.87 ms -0.5%
queens4x4/bt 5.850 ms 5.909 ms +1.0%
queens4x4/bm 7.602 ms 7.591 ms -0.1%
queens4x4/bjbt1 7.185 ms 7.235 ms +0.7%
queens4x4/bjbt2 6.674 ms 6.737 ms +0.9%
queens4x4/fc 15.54 ms 15.52 ms -0.1%
queens5x5/bt 78.31 ms 79.23 ms +1.2%
queens5x5/bm 84.78 ms 84.77 ms -0.0%
queens5x5/bjbt1 92.02 ms 93.03 ms +1.1%
queens5x5/bjbt2 88.67 ms 90.03 ms +1.5%
queens5x5/fc 196.1 ms 197.1 ms +0.5%
TOTAL 1.193 s 1.193 s +0.1%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'validation' on '191103257' (base) and 'b1ee0ff59' (PR)

Results table
Script 1911032 b1ee0ff Change
auction_1-1 169.4 μs 170.2 μs +0.5%
auction_1-2 617.0 μs 619.9 μs +0.5%
auction_1-3 618.3 μs 618.8 μs +0.1%
auction_1-4 221.6 μs 220.7 μs -0.4%
auction_2-1 171.5 μs 170.5 μs -0.6%
auction_2-2 619.3 μs 619.8 μs +0.1%
auction_2-3 809.8 μs 812.3 μs +0.3%
auction_2-4 618.5 μs 618.0 μs -0.1%
auction_2-5 220.6 μs 220.3 μs -0.1%
crowdfunding-success-1 201.5 μs 201.5 μs 0.0%
crowdfunding-success-2 200.6 μs 201.3 μs +0.3%
crowdfunding-success-3 200.3 μs 201.3 μs +0.5%
currency-1 241.7 μs 242.7 μs +0.4%
escrow-redeem_1-1 338.3 μs 336.9 μs -0.4%
escrow-redeem_1-2 339.6 μs 337.7 μs -0.6%
escrow-redeem_2-1 389.3 μs 389.1 μs -0.1%
escrow-redeem_2-2 396.5 μs 390.8 μs -1.4%
escrow-redeem_2-3 391.1 μs 390.2 μs -0.2%
escrow-refund-1 148.4 μs 148.8 μs +0.3%
future-increase-margin-1 241.8 μs 243.1 μs +0.5%
future-increase-margin-2 521.4 μs 522.6 μs +0.2%
future-increase-margin-3 523.6 μs 524.5 μs +0.2%
future-increase-margin-4 476.4 μs 476.8 μs +0.1%
future-increase-margin-5 788.0 μs 788.6 μs +0.1%
future-pay-out-1 241.1 μs 243.0 μs +0.8%
future-pay-out-2 520.1 μs 528.9 μs +1.7%
future-pay-out-3 529.2 μs 523.0 μs -1.2%
future-pay-out-4 792.1 μs 790.3 μs -0.2%
future-settle-early-1 242.2 μs 242.4 μs +0.1%
future-settle-early-2 525.1 μs 521.1 μs -0.8%
future-settle-early-3 523.3 μs 522.6 μs -0.1%
future-settle-early-4 592.4 μs 591.6 μs -0.1%
game-sm-success_1-1 370.6 μs 371.4 μs +0.2%
game-sm-success_1-2 189.4 μs 191.7 μs +1.2%
game-sm-success_1-3 620.6 μs 618.4 μs -0.4%
game-sm-success_1-4 213.7 μs 217.8 μs +1.9%
game-sm-success_2-1 372.5 μs 371.0 μs -0.4%
game-sm-success_2-2 190.4 μs 191.5 μs +0.6%
game-sm-success_2-3 621.6 μs 620.2 μs -0.2%
game-sm-success_2-4 214.3 μs 217.6 μs +1.5%
game-sm-success_2-5 621.3 μs 620.1 μs -0.2%
game-sm-success_2-6 214.1 μs 217.2 μs +1.4%
multisig-sm-1 383.2 μs 380.9 μs -0.6%
multisig-sm-2 371.8 μs 370.5 μs -0.3%
multisig-sm-3 375.0 μs 375.1 μs +0.0%
multisig-sm-4 378.8 μs 378.9 μs +0.0%
multisig-sm-5 538.0 μs 537.9 μs -0.0%
multisig-sm-6 383.0 μs 380.8 μs -0.6%
multisig-sm-7 370.9 μs 370.0 μs -0.2%
multisig-sm-8 377.2 μs 376.3 μs -0.2%
multisig-sm-9 380.0 μs 379.8 μs -0.1%
multisig-sm-10 537.3 μs 538.5 μs +0.2%
ping-pong-1 317.5 μs 316.1 μs -0.4%
ping-pong-2 318.4 μs 316.1 μs -0.7%
ping-pong_2-1 193.8 μs 193.2 μs -0.3%
prism-1 161.6 μs 162.3 μs +0.4%
prism-2 397.0 μs 397.2 μs +0.1%
prism-3 357.4 μs 355.6 μs -0.5%
pubkey-1 135.4 μs 137.3 μs +1.4%
stablecoin_1-1 879.2 μs 879.3 μs +0.0%
stablecoin_1-2 186.0 μs 187.6 μs +0.9%
stablecoin_1-3 1.009 ms 1.012 ms +0.3%
stablecoin_1-4 196.9 μs 197.5 μs +0.3%
stablecoin_1-5 1.294 ms 1.297 ms +0.2%
stablecoin_1-6 242.0 μs 246.0 μs +1.7%
stablecoin_2-1 878.7 μs 879.1 μs +0.0%
stablecoin_2-2 186.5 μs 187.5 μs +0.5%
stablecoin_2-3 1.010 ms 1.012 ms +0.2%
stablecoin_2-4 196.8 μs 198.4 μs +0.8%
token-account-1 183.3 μs 182.5 μs -0.4%
token-account-2 322.6 μs 322.2 μs -0.1%
uniswap-1 398.8 μs 399.3 μs +0.1%
uniswap-2 211.6 μs 215.3 μs +1.7%
uniswap-3 1.692 ms 1.691 ms -0.1%
uniswap-4 318.5 μs 323.1 μs +1.4%
uniswap-5 1.115 ms 1.114 ms -0.1%
uniswap-6 303.2 μs 306.5 μs +1.1%
vesting-1 335.6 μs 334.9 μs -0.2%
TOTAL 33.99 ms 34.02 ms +0.1%

@effectfully effectfully self-assigned this Apr 22, 2024
@effectfully
Copy link
Contributor Author

/benchmark nofib

4 similar comments
@effectfully
Copy link
Contributor Author

/benchmark nofib

@effectfully
Copy link
Contributor Author

/benchmark nofib

@effectfully
Copy link
Contributor Author

/benchmark nofib

@effectfully
Copy link
Contributor Author

/benchmark nofib

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Click here to check the status of your benchmark.

…to effectfully/builtins/make-BuiltinFailure-the-last-constructor
@effectfully
Copy link
Contributor Author

/benchmark validation

@effectfully
Copy link
Contributor Author

/benchmark nofib

@effectfully
Copy link
Contributor Author

/benchmark lists

@effectfully
Copy link
Contributor Author

/benchmark validation

@effectfully
Copy link
Contributor Author

/benchmark nofib

@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 'validation' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
auction_1-1 172.4 μs 170.9 μs -0.9%
auction_1-2 627.9 μs 632.0 μs +0.7%
auction_1-3 622.8 μs 624.6 μs +0.3%
auction_1-4 223.4 μs 222.4 μs -0.4%
auction_2-1 173.1 μs 172.3 μs -0.5%
auction_2-2 628.2 μs 630.3 μs +0.3%
auction_2-3 816.8 μs 823.3 μs +0.8%
auction_2-4 624.4 μs 624.9 μs +0.1%
auction_2-5 223.5 μs 221.6 μs -0.9%
crowdfunding-success-1 201.8 μs 202.1 μs +0.1%
crowdfunding-success-2 202.2 μs 201.8 μs -0.2%
crowdfunding-success-3 202.3 μs 201.6 μs -0.3%
currency-1 244.8 μs 245.1 μs +0.1%
escrow-redeem_1-1 340.1 μs 339.6 μs -0.1%
escrow-redeem_1-2 341.8 μs 341.0 μs -0.2%
escrow-redeem_2-1 395.6 μs 392.1 μs -0.9%
escrow-redeem_2-2 396.5 μs 394.4 μs -0.5%
escrow-redeem_2-3 396.5 μs 394.5 μs -0.5%
escrow-refund-1 148.9 μs 149.1 μs +0.1%
future-increase-margin-1 245.1 μs 245.2 μs +0.0%
future-increase-margin-2 528.9 μs 526.9 μs -0.4%
future-increase-margin-3 529.9 μs 526.3 μs -0.7%
future-increase-margin-4 483.2 μs 480.6 μs -0.5%
future-increase-margin-5 803.6 μs 803.7 μs +0.0%
future-pay-out-1 244.7 μs 244.9 μs +0.1%
future-pay-out-2 529.3 μs 526.1 μs -0.6%
future-pay-out-3 529.6 μs 526.5 μs -0.6%
future-pay-out-4 807.4 μs 802.8 μs -0.6%
future-settle-early-1 244.7 μs 245.0 μs +0.1%
future-settle-early-2 528.9 μs 524.8 μs -0.8%
future-settle-early-3 528.6 μs 525.5 μs -0.6%
future-settle-early-4 607.4 μs 604.5 μs -0.5%
game-sm-success_1-1 374.9 μs 375.5 μs +0.2%
game-sm-success_1-2 193.0 μs 190.9 μs -1.1%
game-sm-success_1-3 628.8 μs 629.7 μs +0.1%
game-sm-success_1-4 218.4 μs 216.1 μs -1.1%
game-sm-success_2-1 376.4 μs 377.3 μs +0.2%
game-sm-success_2-2 192.4 μs 191.4 μs -0.5%
game-sm-success_2-3 629.1 μs 629.6 μs +0.1%
game-sm-success_2-4 218.2 μs 216.0 μs -1.0%
game-sm-success_2-5 629.7 μs 630.9 μs +0.2%
game-sm-success_2-6 219.2 μs 215.4 μs -1.7%
multisig-sm-1 386.2 μs 386.8 μs +0.2%
multisig-sm-2 375.6 μs 376.1 μs +0.1%
multisig-sm-3 380.5 μs 380.7 μs +0.1%
multisig-sm-4 383.3 μs 386.1 μs +0.7%
multisig-sm-5 547.1 μs 547.1 μs 0.0%
multisig-sm-6 386.0 μs 386.4 μs +0.1%
multisig-sm-7 374.9 μs 375.5 μs +0.2%
multisig-sm-8 383.4 μs 381.4 μs -0.5%
multisig-sm-9 384.6 μs 382.5 μs -0.5%
multisig-sm-10 546.2 μs 545.0 μs -0.2%
ping-pong-1 321.2 μs 320.1 μs -0.3%
ping-pong-2 321.4 μs 320.0 μs -0.4%
ping-pong_2-1 195.1 μs 193.9 μs -0.6%
prism-1 162.1 μs 160.9 μs -0.7%
prism-2 400.6 μs 399.2 μs -0.3%
prism-3 359.9 μs 359.5 μs -0.1%
pubkey-1 137.5 μs 136.7 μs -0.6%
stablecoin_1-1 905.2 μs 903.6 μs -0.2%
stablecoin_1-2 188.0 μs 186.9 μs -0.6%
stablecoin_1-3 1.038 ms 1.039 ms +0.1%
stablecoin_1-4 200.0 μs 197.8 μs -1.1%
stablecoin_1-5 1.330 ms 1.328 ms -0.2%
stablecoin_1-6 246.9 μs 245.3 μs -0.6%
stablecoin_2-1 904.8 μs 906.8 μs +0.2%
stablecoin_2-2 187.9 μs 187.1 μs -0.4%
stablecoin_2-3 1.038 ms 1.040 ms +0.2%
stablecoin_2-4 199.7 μs 197.2 μs -1.3%
token-account-1 184.5 μs 184.8 μs +0.2%
token-account-2 325.8 μs 325.4 μs -0.1%
uniswap-1 406.7 μs 403.4 μs -0.8%
uniswap-2 214.1 μs 213.6 μs -0.2%
uniswap-3 1.713 ms 1.708 ms -0.3%
uniswap-4 324.5 μs 322.0 μs -0.8%
uniswap-5 1.127 ms 1.124 ms -0.3%
uniswap-6 310.3 μs 307.1 μs -1.0%
vesting-1 336.6 μs 338.3 μs +0.5%
TOTAL 34.50 ms 34.44 ms -0.2%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
clausify/formula1 3.064 ms 2.978 ms -2.8%
clausify/formula2 4.107 ms 3.983 ms -3.0%
clausify/formula3 11.16 ms 10.90 ms -2.3%
clausify/formula4 26.11 ms 24.76 ms -5.2%
clausify/formula5 54.46 ms 52.73 ms -3.2%
knights/4x4 18.79 ms 16.84 ms -10.4%
knights/6x6 48.81 ms 44.43 ms -9.0%
knights/8x8 85.67 ms 78.09 ms -8.8%
primetest/05digits 11.04 ms 9.841 ms -10.9%
primetest/08digits 17.87 ms 15.89 ms -11.1%
primetest/10digits 21.50 ms 19.05 ms -11.4%
primetest/20digits 42.26 ms 38.25 ms -9.5%
primetest/30digits 64.64 ms 58.96 ms -8.8%
primetest/40digits 87.58 ms 79.56 ms -9.2%
primetest/50digits 107.0 ms 97.10 ms -9.3%
queens4x4/bt 5.445 ms 5.154 ms -5.3%
queens4x4/bm 6.935 ms 6.558 ms -5.4%
queens4x4/bjbt1 6.601 ms 6.302 ms -4.5%
queens4x4/bjbt2 6.226 ms 5.872 ms -5.7%
queens4x4/fc 13.97 ms 13.39 ms -4.2%
queens5x5/bt 73.89 ms 69.71 ms -5.7%
queens5x5/bm 77.32 ms 73.70 ms -4.7%
queens5x5/bjbt1 86.66 ms 81.77 ms -5.6%
queens5x5/bjbt2 83.97 ms 79.35 ms -5.5%
queens5x5/fc 178.7 ms 169.7 ms -5.0%
TOTAL 1.144 s 1.065 s -6.9%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
sort/ghcSort/10 32.83 μs 33.35 μs +1.6%
sort/ghcSort/20 76.67 μs 77.93 μs +1.6%
sort/ghcSort/30 119.0 μs 119.6 μs +0.5%
sort/ghcSort/40 177.5 μs 179.4 μs +1.1%
sort/ghcSort/50 219.8 μs 222.1 μs +1.0%
sort/ghcSort/60 274.6 μs 277.4 μs +1.0%
sort/ghcSort/70 357.4 μs 359.6 μs +0.6%
sort/ghcSort/80 409.5 μs 413.4 μs +1.0%
sort/ghcSort/90 449.6 μs 453.7 μs +0.9%
sort/ghcSort/100 510.0 μs 514.3 μs +0.8%
sort/ghcSort/110 554.6 μs 559.6 μs +0.9%
sort/ghcSort/120 631.4 μs 636.9 μs +0.9%
sort/ghcSort/130 774.4 μs 777.6 μs +0.4%
sort/ghcSort/140 820.7 μs 825.2 μs +0.5%
sort/ghcSort/150 878.5 μs 887.5 μs +1.0%
sort/ghcSort/160 942.8 μs 954.2 μs +1.2%
sort/ghcSort/170 992.5 μs 1.004 ms +1.2%
sort/ghcSort/180 1.042 ms 1.056 ms +1.3%
sort/ghcSort/190 1.105 ms 1.120 ms +1.4%
sort/ghcSort/200 1.183 ms 1.200 ms +1.4%
sort/ghcSort/210 1.234 ms 1.252 ms +1.5%
sort/ghcSort/220 1.294 ms 1.307 ms +1.0%
sort/ghcSort/230 1.379 ms 1.402 ms +1.7%
sort/ghcSort/240 1.462 ms 1.479 ms +1.2%
sort/ghcSort/250 1.532 ms 1.553 ms +1.4%
sort/ghcSort/260 1.763 ms 1.786 ms +1.3%
sort/ghcSort/270 1.818 ms 1.847 ms +1.6%
sort/ghcSort/280 1.876 ms 1.901 ms +1.3%
sort/ghcSort/290 1.944 ms 1.971 ms +1.4%
sort/ghcSort/300 2.021 ms 2.038 ms +0.8%
sort/ghcSort/310 2.084 ms 2.108 ms +1.2%
sort/ghcSort/320 2.156 ms 2.179 ms +1.1%
sort/ghcSort/330 2.214 ms 2.239 ms +1.1%
sort/ghcSort/340 2.275 ms 2.303 ms +1.2%
sort/ghcSort/350 2.329 ms 2.356 ms +1.2%
sort/ghcSort/360 2.397 ms 2.424 ms +1.1%
sort/ghcSort/370 2.463 ms 2.487 ms +1.0%
sort/ghcSort/380 2.539 ms 2.566 ms +1.1%
sort/ghcSort/390 2.655 ms 2.689 ms +1.3%
sort/ghcSort/400 2.724 ms 2.760 ms +1.3%
sort/ghcSort/410 2.754 ms 2.786 ms +1.2%
sort/ghcSort/420 2.851 ms 2.893 ms +1.5%
sort/ghcSort/430 2.890 ms 2.930 ms +1.4%
sort/ghcSort/440 2.987 ms 3.025 ms +1.3%
sort/ghcSort/450 3.144 ms 3.181 ms +1.2%
sort/ghcSort/460 3.180 ms 3.222 ms +1.3%
sort/ghcSort/470 3.257 ms 3.296 ms +1.2%
sort/ghcSort/480 3.364 ms 3.403 ms +1.2%
sort/ghcSort/490 3.440 ms 3.478 ms +1.1%
sort/ghcSort/500 3.524 ms 3.573 ms +1.4%
sort/insertionSort/10 31.68 μs 32.45 μs +2.4%
sort/insertionSort/20 119.0 μs 122.0 μs +2.5%
sort/insertionSort/30 263.8 μs 270.1 μs +2.4%
sort/insertionSort/40 463.6 μs 472.2 μs +1.9%
sort/insertionSort/50 721.2 μs 738.3 μs +2.4%
sort/insertionSort/60 1.032 ms 1.061 ms +2.8%
sort/insertionSort/70 1.408 ms 1.444 ms +2.6%
sort/insertionSort/80 1.842 ms 1.885 ms +2.3%
sort/insertionSort/90 2.324 ms 2.381 ms +2.5%
sort/insertionSort/100 2.874 ms 2.934 ms +2.1%
sort/insertionSort/110 3.480 ms 3.563 ms +2.4%
sort/insertionSort/120 4.129 ms 4.256 ms +3.1%
sort/insertionSort/130 4.855 ms 4.988 ms +2.7%
sort/insertionSort/140 5.626 ms 5.774 ms +2.6%
sort/insertionSort/150 6.483 ms 6.645 ms +2.5%
sort/insertionSort/160 7.377 ms 7.564 ms +2.5%
sort/insertionSort/170 8.327 ms 8.541 ms +2.6%
sort/insertionSort/180 9.346 ms 9.578 ms +2.5%
sort/insertionSort/190 10.48 ms 10.69 ms +2.0%
sort/insertionSort/200 11.57 ms 11.80 ms +2.0%
sort/insertionSort/210 12.81 ms 13.06 ms +2.0%
sort/insertionSort/220 14.05 ms 14.34 ms +2.1%
sort/insertionSort/230 15.36 ms 15.69 ms +2.1%
sort/insertionSort/240 16.76 ms 17.14 ms +2.3%
sort/insertionSort/250 18.18 ms 18.63 ms +2.5%
sort/insertionSort/260 19.68 ms 20.12 ms +2.2%
sort/insertionSort/270 21.23 ms 21.73 ms +2.4%
sort/insertionSort/280 22.87 ms 23.40 ms +2.3%
sort/insertionSort/290 24.56 ms 25.09 ms +2.2%
sort/insertionSort/300 26.41 ms 26.89 ms +1.8%
sort/insertionSort/310 28.16 ms 28.69 ms +1.9%
sort/insertionSort/320 30.01 ms 30.48 ms +1.6%
sort/insertionSort/330 31.98 ms 32.81 ms +2.6%
sort/insertionSort/340 33.95 ms 34.72 ms +2.3%
sort/insertionSort/350 35.93 ms 36.85 ms +2.6%
sort/insertionSort/360 38.13 ms 38.93 ms +2.1%
sort/insertionSort/370 40.39 ms 41.14 ms +1.9%
sort/insertionSort/380 42.53 ms 43.53 ms +2.4%
sort/insertionSort/390 44.86 ms 45.88 ms +2.3%
sort/insertionSort/400 47.23 ms 48.46 ms +2.6%
sort/insertionSort/410 49.80 ms 50.82 ms +2.0%
sort/insertionSort/420 52.25 ms 53.41 ms +2.2%
sort/insertionSort/430 54.81 ms 56.11 ms +2.4%
sort/insertionSort/440 57.45 ms 58.75 ms +2.3%
sort/insertionSort/450 60.57 ms 61.41 ms +1.4%
sort/insertionSort/460 62.88 ms 64.31 ms +2.3%
sort/insertionSort/470 65.93 ms 67.23 ms +2.0%
sort/insertionSort/480 69.00 ms 70.36 ms +2.0%
sort/insertionSort/490 71.68 ms 73.31 ms +2.3%
sort/insertionSort/500 74.76 ms 76.36 ms +2.1%
sort/mergeSort/10 85.39 μs 87.72 μs +2.7%
sort/mergeSort/20 206.2 μs 211.1 μs +2.4%
sort/mergeSort/30 340.4 μs 351.8 μs +3.3%
sort/mergeSort/40 486.7 μs 500.0 μs +2.7%
sort/mergeSort/50 634.4 μs 652.4 μs +2.8%
sort/mergeSort/60 794.3 μs 816.8 μs +2.8%
sort/mergeSort/70 952.8 μs 985.8 μs +3.5%
sort/mergeSort/80 1.122 ms 1.157 ms +3.1%
sort/mergeSort/90 1.285 ms 1.325 ms +3.1%
sort/mergeSort/100 1.455 ms 1.499 ms +3.0%
sort/mergeSort/110 1.633 ms 1.692 ms +3.6%
sort/mergeSort/120 1.824 ms 1.864 ms +2.2%
sort/mergeSort/130 2.021 ms 2.072 ms +2.5%
sort/mergeSort/140 2.176 ms 2.238 ms +2.8%
sort/mergeSort/150 2.357 ms 2.451 ms +4.0%
sort/mergeSort/160 2.561 ms 2.614 ms +2.1%
sort/mergeSort/170 2.723 ms 2.795 ms +2.6%
sort/mergeSort/180 2.925 ms 2.994 ms +2.4%
sort/mergeSort/190 3.125 ms 3.207 ms +2.6%
sort/mergeSort/200 3.309 ms 3.378 ms +2.1%
sort/mergeSort/210 3.509 ms 3.592 ms +2.4%
sort/mergeSort/220 3.686 ms 3.774 ms +2.4%
sort/mergeSort/230 3.899 ms 3.982 ms +2.1%
sort/mergeSort/240 4.090 ms 4.189 ms +2.4%
sort/mergeSort/250 4.312 ms 4.415 ms +2.4%
sort/mergeSort/260 4.560 ms 4.643 ms +1.8%
sort/mergeSort/270 4.698 ms 4.802 ms +2.2%
sort/mergeSort/280 4.898 ms 5.003 ms +2.1%
sort/mergeSort/290 5.090 ms 5.260 ms +3.3%
sort/mergeSort/300 5.277 ms 5.399 ms +2.3%
sort/mergeSort/310 5.454 ms 5.593 ms +2.5%
sort/mergeSort/320 5.727 ms 5.856 ms +2.3%
sort/mergeSort/330 5.916 ms 6.030 ms +1.9%
sort/mergeSort/340 6.122 ms 6.250 ms +2.1%
sort/mergeSort/350 6.329 ms 6.464 ms +2.1%
sort/mergeSort/360 6.570 ms 6.694 ms +1.9%
sort/mergeSort/370 6.777 ms 6.913 ms +2.0%
sort/mergeSort/380 6.965 ms 7.115 ms +2.2%
sort/mergeSort/390 7.181 ms 7.370 ms +2.6%
sort/mergeSort/400 7.355 ms 7.561 ms +2.8%
sort/mergeSort/410 7.623 ms 7.793 ms +2.2%
sort/mergeSort/420 7.832 ms 7.995 ms +2.1%
sort/mergeSort/430 8.063 ms 8.255 ms +2.4%
sort/mergeSort/440 8.205 ms 8.435 ms +2.8%
sort/mergeSort/450 8.488 ms 8.646 ms +1.9%
sort/mergeSort/460 8.713 ms 8.893 ms +2.1%
sort/mergeSort/470 8.939 ms 9.110 ms +1.9%
sort/mergeSort/480 9.132 ms 9.306 ms +1.9%
sort/mergeSort/490 9.387 ms 9.637 ms +2.7%
sort/mergeSort/500 9.634 ms 9.842 ms +2.2%
sort/quickSort/10 73.78 μs 74.35 μs +0.8%
sort/quickSort/20 279.3 μs 284.3 μs +1.8%
sort/quickSort/30 626.1 μs 630.2 μs +0.7%
sort/quickSort/40 1.126 ms 1.135 ms +0.8%
sort/quickSort/50 1.774 ms 1.791 ms +1.0%
sort/quickSort/60 2.568 ms 2.593 ms +1.0%
sort/quickSort/70 3.515 ms 3.551 ms +1.0%
sort/quickSort/80 4.623 ms 4.661 ms +0.8%
sort/quickSort/90 5.845 ms 5.884 ms +0.7%
sort/quickSort/100 7.198 ms 7.238 ms +0.6%
sort/quickSort/110 8.770 ms 8.790 ms +0.2%
sort/quickSort/120 10.39 ms 10.46 ms +0.7%
sort/quickSort/130 12.18 ms 12.29 ms +0.9%
sort/quickSort/140 14.01 ms 14.15 ms +1.0%
sort/quickSort/150 16.12 ms 16.30 ms +1.1%
sort/quickSort/160 18.33 ms 18.52 ms +1.0%
sort/quickSort/170 20.73 ms 20.90 ms +0.8%
sort/quickSort/180 23.19 ms 23.42 ms +1.0%
sort/quickSort/190 25.86 ms 26.13 ms +1.0%
sort/quickSort/200 28.55 ms 28.89 ms +1.2%
sort/quickSort/210 31.56 ms 31.83 ms +0.9%
sort/quickSort/220 34.62 ms 34.96 ms +1.0%
sort/quickSort/230 37.87 ms 38.14 ms +0.7%
sort/quickSort/240 41.13 ms 41.63 ms +1.2%
sort/quickSort/250 44.66 ms 45.07 ms +0.9%
sort/quickSort/260 48.33 ms 48.69 ms +0.7%
sort/quickSort/270 52.17 ms 52.56 ms +0.7%
sort/quickSort/280 56.32 ms 56.62 ms +0.5%
sort/quickSort/290 60.18 ms 60.76 ms +1.0%
sort/quickSort/300 64.35 ms 64.85 ms +0.8%
sort/quickSort/310 68.89 ms 69.44 ms +0.8%
sort/quickSort/320 73.54 ms 73.97 ms +0.6%
sort/quickSort/330 78.31 ms 78.89 ms +0.7%
sort/quickSort/340 83.19 ms 83.88 ms +0.8%
sort/quickSort/350 88.10 ms 89.15 ms +1.2%
sort/quickSort/360 93.25 ms 94.39 ms +1.2%
sort/quickSort/370 98.39 ms 99.35 ms +1.0%
sort/quickSort/380 104.1 ms 105.4 ms +1.2%
sort/quickSort/390 109.6 ms 111.0 ms +1.3%
sort/quickSort/400 115.6 ms 116.5 ms +0.8%
sort/quickSort/410 121.6 ms 122.7 ms +0.9%
sort/quickSort/420 127.8 ms 128.8 ms +0.8%
sort/quickSort/430 133.7 ms 135.2 ms +1.1%
sort/quickSort/440 140.4 ms 141.5 ms +0.8%
sort/quickSort/450 146.7 ms 148.0 ms +0.9%
sort/quickSort/460 154.2 ms 155.4 ms +0.8%
sort/quickSort/470 161.4 ms 162.0 ms +0.4%
sort/quickSort/480 168.0 ms 169.3 ms +0.8%
sort/quickSort/490 174.7 ms 176.4 ms +1.0%
sort/quickSort/500 182.5 ms 184.4 ms +1.0%
sum/compiled-from-Haskell/sum-right-builtin/10 9.027 μs 9.004 μs -0.3%
sum/compiled-from-Haskell/sum-right-builtin/50 44.14 μs 44.42 μs +0.6%
sum/compiled-from-Haskell/sum-right-builtin/100 88.55 μs 89.30 μs +0.8%
sum/compiled-from-Haskell/sum-right-builtin/500 468.2 μs 468.5 μs +0.1%
sum/compiled-from-Haskell/sum-right-builtin/1000 1.012 ms 1.009 ms -0.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 6.646 ms 6.653 ms +0.1%
sum/compiled-from-Haskell/sum-right-builtin/10000 14.33 ms 14.41 ms +0.6%
sum/compiled-from-Haskell/sum-right-Scott/10 6.615 μs 6.486 μs -2.0%
sum/compiled-from-Haskell/sum-right-Scott/50 29.97 μs 30.43 μs +1.5%
sum/compiled-from-Haskell/sum-right-Scott/100 59.54 μs 60.18 μs +1.1%
sum/compiled-from-Haskell/sum-right-Scott/500 312.4 μs 316.0 μs +1.2%
sum/compiled-from-Haskell/sum-right-Scott/1000 674.9 μs 682.6 μs +1.1%
sum/compiled-from-Haskell/sum-right-Scott/5000 5.100 ms 5.125 ms +0.5%
sum/compiled-from-Haskell/sum-right-Scott/10000 11.29 ms 11.37 ms +0.7%
sum/compiled-from-Haskell/sum-right-data/10 24.01 μs 23.89 μs -0.5%
sum/compiled-from-Haskell/sum-right-data/50 114.3 μs 113.8 μs -0.4%
sum/compiled-from-Haskell/sum-right-data/100 228.0 μs 227.3 μs -0.3%
sum/compiled-from-Haskell/sum-right-data/500 1.249 ms 1.245 ms -0.3%
sum/compiled-from-Haskell/sum-right-data/1000 2.842 ms 2.820 ms -0.8%
sum/compiled-from-Haskell/sum-right-data/5000 16.04 ms 15.85 ms -1.2%
sum/compiled-from-Haskell/sum-right-data/10000 33.32 ms 32.96 ms -1.1%
sum/compiled-from-Haskell/sum-left-builtin/10 9.139 μs 9.231 μs +1.0%
sum/compiled-from-Haskell/sum-left-builtin/50 43.48 μs 43.99 μs +1.2%
sum/compiled-from-Haskell/sum-left-builtin/100 87.08 μs 87.71 μs +0.7%
sum/compiled-from-Haskell/sum-left-builtin/500 459.0 μs 462.2 μs +0.7%
sum/compiled-from-Haskell/sum-left-builtin/1000 983.7 μs 990.3 μs +0.7%
sum/compiled-from-Haskell/sum-left-builtin/5000 6.609 ms 6.656 ms +0.7%
sum/compiled-from-Haskell/sum-left-builtin/10000 14.12 ms 14.16 ms +0.3%
sum/compiled-from-Haskell/sum-left-Scott/10 6.435 μs 6.420 μs -0.2%
sum/compiled-from-Haskell/sum-left-Scott/50 29.14 μs 29.16 μs +0.1%
sum/compiled-from-Haskell/sum-left-Scott/100 58.22 μs 58.48 μs +0.4%
sum/compiled-from-Haskell/sum-left-Scott/500 305.7 μs 307.4 μs +0.6%
sum/compiled-from-Haskell/sum-left-Scott/1000 659.7 μs 667.9 μs +1.2%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.865 ms 4.923 ms +1.2%
sum/compiled-from-Haskell/sum-left-Scott/10000 10.88 ms 11.00 ms +1.1%
sum/compiled-from-Haskell/sum-left-data/10 23.84 μs 24.30 μs +1.9%
sum/compiled-from-Haskell/sum-left-data/50 113.9 μs 116.1 μs +1.9%
sum/compiled-from-Haskell/sum-left-data/100 229.3 μs 231.0 μs +0.7%
sum/compiled-from-Haskell/sum-left-data/500 1.262 ms 1.270 ms +0.6%
sum/compiled-from-Haskell/sum-left-data/1000 2.848 ms 2.872 ms +0.8%
sum/compiled-from-Haskell/sum-left-data/5000 15.87 ms 15.96 ms +0.6%
sum/compiled-from-Haskell/sum-left-data/10000 32.89 ms 32.89 ms 0.0%
sum/hand-written-PLC/sum-right-builtin/10 9.519 μs 9.798 μs +2.9%
sum/hand-written-PLC/sum-right-builtin/50 43.02 μs 44.14 μs +2.6%
sum/hand-written-PLC/sum-right-builtin/100 86.45 μs 88.52 μs +2.4%
sum/hand-written-PLC/sum-right-builtin/500 438.3 μs 446.5 μs +1.9%
sum/hand-written-PLC/sum-right-builtin/1000 914.4 μs 924.1 μs +1.1%
sum/hand-written-PLC/sum-right-builtin/5000 5.335 ms 5.423 ms +1.6%
sum/hand-written-PLC/sum-right-builtin/10000 10.91 ms 11.09 ms +1.6%
sum/hand-written-PLC/sum-right-Scott/10 5.788 μs 5.838 μs +0.9%
sum/hand-written-PLC/sum-right-Scott/50 25.65 μs 25.79 μs +0.5%
sum/hand-written-PLC/sum-right-Scott/100 49.54 μs 50.69 μs +2.3%
sum/hand-written-PLC/sum-right-Scott/500 252.4 μs 258.7 μs +2.5%
sum/hand-written-PLC/sum-right-Scott/1000 537.9 μs 541.1 μs +0.6%
sum/hand-written-PLC/sum-right-Scott/5000 3.804 ms 3.809 ms +0.1%
sum/hand-written-PLC/sum-right-Scott/10000 8.518 ms 8.546 ms +0.3%
sum/hand-written-PLC/sum-left-builtin/10 10.15 μs 10.27 μs +1.2%
sum/hand-written-PLC/sum-left-builtin/50 47.01 μs 47.39 μs +0.8%
sum/hand-written-PLC/sum-left-builtin/100 93.04 μs 93.04 μs 0.0%
sum/hand-written-PLC/sum-left-builtin/500 457.9 μs 459.1 μs +0.3%
sum/hand-written-PLC/sum-left-builtin/1000 910.4 μs 914.2 μs +0.4%
sum/hand-written-PLC/sum-left-builtin/5000 4.541 ms 4.529 ms -0.3%
sum/hand-written-PLC/sum-left-builtin/10000 9.008 ms 9.050 ms +0.5%
sum/hand-written-PLC/sum-left-Scott/10 6.074 μs 6.314 μs +4.0%
sum/hand-written-PLC/sum-left-Scott/50 26.73 μs 27.69 μs +3.6%
sum/hand-written-PLC/sum-left-Scott/100 53.98 μs 56.11 μs +3.9%
sum/hand-written-PLC/sum-left-Scott/500 265.6 μs 279.8 μs +5.3%
sum/hand-written-PLC/sum-left-Scott/1000 540.5 μs 566.0 μs +4.7%
sum/hand-written-PLC/sum-left-Scott/5000 3.361 ms 3.431 ms +2.1%
sum/hand-written-PLC/sum-left-Scott/10000 7.000 ms 7.175 ms +2.5%
TOTAL 4.921 s 4.983 s +1.3%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'validation' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
auction_1-1 175.7 μs 169.6 μs -3.5%
auction_1-2 634.8 μs 627.9 μs -1.1%
auction_1-3 627.8 μs 621.1 μs -1.1%
auction_1-4 228.2 μs 219.6 μs -3.8%
auction_2-1 176.5 μs 171.1 μs -3.1%
auction_2-2 635.2 μs 627.4 μs -1.2%
auction_2-3 827.7 μs 820.1 μs -0.9%
auction_2-4 629.0 μs 623.7 μs -0.8%
auction_2-5 228.7 μs 219.5 μs -4.0%
crowdfunding-success-1 206.1 μs 200.5 μs -2.7%
crowdfunding-success-2 206.1 μs 200.0 μs -3.0%
crowdfunding-success-3 206.4 μs 200.9 μs -2.7%
currency-1 248.6 μs 243.9 μs -1.9%
escrow-redeem_1-1 346.9 μs 338.1 μs -2.5%
escrow-redeem_1-2 346.9 μs 339.6 μs -2.1%
escrow-redeem_2-1 402.0 μs 392.0 μs -2.5%
escrow-redeem_2-2 402.7 μs 392.7 μs -2.5%
escrow-redeem_2-3 402.0 μs 392.7 μs -2.3%
escrow-refund-1 152.5 μs 148.6 μs -2.6%
future-increase-margin-1 248.5 μs 244.1 μs -1.8%
future-increase-margin-2 536.5 μs 522.1 μs -2.7%
future-increase-margin-3 536.9 μs 526.6 μs -1.9%
future-increase-margin-4 487.6 μs 482.0 μs -1.1%
future-increase-margin-5 812.4 μs 805.2 μs -0.9%
future-pay-out-1 248.4 μs 243.4 μs -2.0%
future-pay-out-2 536.1 μs 522.9 μs -2.5%
future-pay-out-3 538.4 μs 521.4 μs -3.2%
future-pay-out-4 815.1 μs 801.4 μs -1.7%
future-settle-early-1 248.6 μs 244.2 μs -1.8%
future-settle-early-2 536.8 μs 523.8 μs -2.4%
future-settle-early-3 535.6 μs 524.4 μs -2.1%
future-settle-early-4 612.2 μs 601.7 μs -1.7%
game-sm-success_1-1 380.4 μs 373.3 μs -1.9%
game-sm-success_1-2 197.3 μs 190.5 μs -3.4%
game-sm-success_1-3 636.0 μs 627.7 μs -1.3%
game-sm-success_1-4 224.7 μs 214.7 μs -4.5%
game-sm-success_2-1 380.6 μs 374.8 μs -1.5%
game-sm-success_2-2 196.7 μs 189.0 μs -3.9%
game-sm-success_2-3 636.1 μs 627.3 μs -1.4%
game-sm-success_2-4 223.9 μs 213.1 μs -4.8%
game-sm-success_2-5 637.6 μs 627.1 μs -1.6%
game-sm-success_2-6 224.4 μs 213.6 μs -4.8%
multisig-sm-1 390.6 μs 384.5 μs -1.6%
multisig-sm-2 378.6 μs 375.8 μs -0.7%
multisig-sm-3 383.9 μs 378.7 μs -1.4%
multisig-sm-4 386.9 μs 383.9 μs -0.8%
multisig-sm-5 550.4 μs 545.2 μs -0.9%
multisig-sm-6 390.3 μs 384.3 μs -1.5%
multisig-sm-7 378.9 μs 373.9 μs -1.3%
multisig-sm-8 387.7 μs 382.5 μs -1.3%
multisig-sm-9 388.1 μs 381.5 μs -1.7%
multisig-sm-10 550.6 μs 546.3 μs -0.8%
ping-pong-1 325.3 μs 318.6 μs -2.1%
ping-pong-2 325.5 μs 317.5 μs -2.5%
ping-pong_2-1 198.1 μs 192.8 μs -2.7%
prism-1 166.2 μs 159.7 μs -3.9%
prism-2 406.1 μs 397.2 μs -2.2%
prism-3 365.6 μs 358.7 μs -1.9%
pubkey-1 140.3 μs 135.6 μs -3.3%
stablecoin_1-1 912.2 μs 901.9 μs -1.1%
stablecoin_1-2 192.8 μs 185.8 μs -3.6%
stablecoin_1-3 1.046 ms 1.033 ms -1.2%
stablecoin_1-4 204.7 μs 195.4 μs -4.5%
stablecoin_1-5 1.341 ms 1.318 ms -1.7%
stablecoin_1-6 253.1 μs 243.1 μs -4.0%
stablecoin_2-1 911.8 μs 901.9 μs -1.1%
stablecoin_2-2 192.7 μs 185.3 μs -3.8%
stablecoin_2-3 1.047 ms 1.033 ms -1.3%
stablecoin_2-4 205.1 μs 196.1 μs -4.4%
token-account-1 187.6 μs 183.8 μs -2.0%
token-account-2 329.7 μs 324.3 μs -1.6%
uniswap-1 410.3 μs 402.5 μs -1.9%
uniswap-2 217.6 μs 212.1 μs -2.5%
uniswap-3 1.732 ms 1.702 ms -1.7%
uniswap-4 331.0 μs 318.2 μs -3.9%
uniswap-5 1.143 ms 1.118 ms -2.2%
uniswap-6 316.9 μs 304.7 μs -3.8%
vesting-1 341.9 μs 336.8 μs -1.5%
TOTAL 34.94 ms 34.28 ms -1.9%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
clausify/formula1 2.987 ms 2.964 ms -0.8%
clausify/formula2 3.975 ms 3.962 ms -0.3%
clausify/formula3 10.84 ms 10.84 ms 0.0%
clausify/formula4 24.59 ms 24.58 ms -0.0%
clausify/formula5 53.08 ms 52.38 ms -1.3%
knights/4x4 17.13 ms 16.72 ms -2.4%
knights/6x6 45.36 ms 44.11 ms -2.8%
knights/8x8 79.76 ms 77.69 ms -2.6%
primetest/05digits 9.962 ms 9.845 ms -1.2%
primetest/08digits 16.13 ms 15.90 ms -1.4%
primetest/10digits 19.38 ms 19.17 ms -1.1%
primetest/20digits 38.29 ms 38.35 ms +0.2%
primetest/30digits 58.67 ms 59.04 ms +0.6%
primetest/40digits 79.80 ms 79.52 ms -0.4%
primetest/50digits 97.33 ms 97.12 ms -0.2%
queens4x4/bt 5.202 ms 5.121 ms -1.6%
queens4x4/bm 6.611 ms 6.534 ms -1.2%
queens4x4/bjbt1 6.311 ms 6.272 ms -0.6%
queens4x4/bjbt2 5.894 ms 5.850 ms -0.7%
queens4x4/fc 13.32 ms 13.36 ms +0.3%
queens5x5/bt 70.14 ms 69.65 ms -0.7%
queens5x5/bm 73.25 ms 73.40 ms +0.2%
queens5x5/bjbt1 81.70 ms 81.39 ms -0.4%
queens5x5/bjbt2 79.65 ms 78.80 ms -1.1%
queens5x5/fc 168.3 ms 169.6 ms +0.8%
TOTAL 1.068 s 1.062 s -0.5%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'lists' on '7b3fd3e41' (base) and 'd294c0e55' (PR)

Results table
Script 7b3fd3e d294c0e Change
sort/ghcSort/10 32.95 μs 33.23 μs +0.8%
sort/ghcSort/20 76.66 μs 78.25 μs +2.1%
sort/ghcSort/30 119.1 μs 120.2 μs +0.9%
sort/ghcSort/40 177.2 μs 180.3 μs +1.7%
sort/ghcSort/50 219.6 μs 223.2 μs +1.6%
sort/ghcSort/60 275.5 μs 278.5 μs +1.1%
sort/ghcSort/70 357.6 μs 362.4 μs +1.3%
sort/ghcSort/80 409.1 μs 416.3 μs +1.8%
sort/ghcSort/90 448.3 μs 456.4 μs +1.8%
sort/ghcSort/100 506.3 μs 516.8 μs +2.1%
sort/ghcSort/110 553.5 μs 562.7 μs +1.7%
sort/ghcSort/120 628.0 μs 641.5 μs +2.1%
sort/ghcSort/130 772.0 μs 782.8 μs +1.4%
sort/ghcSort/140 821.7 μs 829.0 μs +0.9%
sort/ghcSort/150 879.3 μs 891.7 μs +1.4%
sort/ghcSort/160 944.2 μs 955.7 μs +1.2%
sort/ghcSort/170 992.1 μs 1.005 ms +1.3%
sort/ghcSort/180 1.044 ms 1.057 ms +1.2%
sort/ghcSort/190 1.106 ms 1.120 ms +1.3%
sort/ghcSort/200 1.187 ms 1.198 ms +0.9%
sort/ghcSort/210 1.239 ms 1.251 ms +1.0%
sort/ghcSort/220 1.296 ms 1.307 ms +0.8%
sort/ghcSort/230 1.386 ms 1.400 ms +1.0%
sort/ghcSort/240 1.465 ms 1.476 ms +0.8%
sort/ghcSort/250 1.531 ms 1.553 ms +1.4%
sort/ghcSort/260 1.766 ms 1.783 ms +1.0%
sort/ghcSort/270 1.812 ms 1.844 ms +1.8%
sort/ghcSort/280 1.873 ms 1.901 ms +1.5%
sort/ghcSort/290 1.936 ms 1.969 ms +1.7%
sort/ghcSort/300 2.010 ms 2.043 ms +1.6%
sort/ghcSort/310 2.083 ms 2.111 ms +1.3%
sort/ghcSort/320 2.148 ms 2.180 ms +1.5%
sort/ghcSort/330 2.211 ms 2.244 ms +1.5%
sort/ghcSort/340 2.267 ms 2.303 ms +1.6%
sort/ghcSort/350 2.322 ms 2.361 ms +1.7%
sort/ghcSort/360 2.389 ms 2.423 ms +1.4%
sort/ghcSort/370 2.450 ms 2.482 ms +1.3%
sort/ghcSort/380 2.529 ms 2.571 ms +1.7%
sort/ghcSort/390 2.648 ms 2.691 ms +1.6%
sort/ghcSort/400 2.716 ms 2.763 ms +1.7%
sort/ghcSort/410 2.746 ms 2.792 ms +1.7%
sort/ghcSort/420 2.843 ms 2.894 ms +1.8%
sort/ghcSort/430 2.884 ms 2.929 ms +1.6%
sort/ghcSort/440 2.969 ms 3.020 ms +1.7%
sort/ghcSort/450 3.134 ms 3.183 ms +1.6%
sort/ghcSort/460 3.172 ms 3.219 ms +1.5%
sort/ghcSort/470 3.246 ms 3.295 ms +1.5%
sort/ghcSort/480 3.357 ms 3.406 ms +1.5%
sort/ghcSort/490 3.426 ms 3.479 ms +1.5%
sort/ghcSort/500 3.514 ms 3.560 ms +1.3%
sort/insertionSort/10 31.57 μs 32.40 μs +2.6%
sort/insertionSort/20 118.7 μs 122.0 μs +2.8%
sort/insertionSort/30 263.4 μs 268.8 μs +2.1%
sort/insertionSort/40 461.3 μs 472.3 μs +2.4%
sort/insertionSort/50 718.1 μs 740.8 μs +3.2%
sort/insertionSort/60 1.033 ms 1.057 ms +2.3%
sort/insertionSort/70 1.410 ms 1.447 ms +2.6%
sort/insertionSort/80 1.835 ms 1.887 ms +2.8%
sort/insertionSort/90 2.314 ms 2.381 ms +2.9%
sort/insertionSort/100 2.852 ms 2.942 ms +3.2%
sort/insertionSort/110 3.472 ms 3.552 ms +2.3%
sort/insertionSort/120 4.138 ms 4.233 ms +2.3%
sort/insertionSort/130 4.861 ms 4.982 ms +2.5%
sort/insertionSort/140 5.665 ms 5.766 ms +1.8%
sort/insertionSort/150 6.523 ms 6.620 ms +1.5%
sort/insertionSort/160 7.358 ms 7.540 ms +2.5%
sort/insertionSort/170 8.327 ms 8.539 ms +2.5%
sort/insertionSort/180 9.319 ms 9.563 ms +2.6%
sort/insertionSort/190 10.39 ms 10.70 ms +3.0%
sort/insertionSort/200 11.55 ms 11.84 ms +2.5%
sort/insertionSort/210 12.73 ms 13.07 ms +2.7%
sort/insertionSort/220 14.01 ms 14.32 ms +2.2%
sort/insertionSort/230 15.39 ms 15.74 ms +2.3%
sort/insertionSort/240 16.74 ms 17.07 ms +2.0%
sort/insertionSort/250 18.17 ms 18.60 ms +2.4%
sort/insertionSort/260 19.56 ms 20.11 ms +2.8%
sort/insertionSort/270 21.18 ms 21.69 ms +2.4%
sort/insertionSort/280 22.81 ms 23.41 ms +2.6%
sort/insertionSort/290 24.49 ms 25.14 ms +2.7%
sort/insertionSort/300 26.22 ms 27.04 ms +3.1%
sort/insertionSort/310 28.14 ms 28.75 ms +2.2%
sort/insertionSort/320 29.89 ms 30.71 ms +2.7%
sort/insertionSort/330 31.88 ms 32.70 ms +2.6%
sort/insertionSort/340 33.87 ms 34.71 ms +2.5%
sort/insertionSort/350 35.90 ms 36.93 ms +2.9%
sort/insertionSort/360 38.07 ms 39.07 ms +2.6%
sort/insertionSort/370 40.25 ms 41.30 ms +2.6%
sort/insertionSort/380 42.50 ms 43.51 ms +2.4%
sort/insertionSort/390 44.96 ms 45.91 ms +2.1%
sort/insertionSort/400 47.34 ms 48.38 ms +2.2%
sort/insertionSort/410 49.78 ms 50.85 ms +2.1%
sort/insertionSort/420 52.33 ms 53.39 ms +2.0%
sort/insertionSort/430 54.92 ms 56.21 ms +2.3%
sort/insertionSort/440 58.06 ms 58.65 ms +1.0%
sort/insertionSort/450 60.27 ms 61.24 ms +1.6%
sort/insertionSort/460 63.12 ms 64.22 ms +1.7%
sort/insertionSort/470 66.34 ms 67.33 ms +1.5%
sort/insertionSort/480 68.90 ms 70.49 ms +2.3%
sort/insertionSort/490 71.83 ms 73.13 ms +1.8%
sort/insertionSort/500 74.88 ms 76.47 ms +2.1%
sort/mergeSort/10 84.58 μs 87.29 μs +3.2%
sort/mergeSort/20 205.2 μs 211.0 μs +2.8%
sort/mergeSort/30 339.8 μs 349.6 μs +2.9%
sort/mergeSort/40 487.1 μs 500.3 μs +2.7%
sort/mergeSort/50 634.5 μs 651.7 μs +2.7%
sort/mergeSort/60 792.9 μs 814.1 μs +2.7%
sort/mergeSort/70 958.8 μs 981.6 μs +2.4%
sort/mergeSort/80 1.124 ms 1.153 ms +2.6%
sort/mergeSort/90 1.292 ms 1.323 ms +2.4%
sort/mergeSort/100 1.464 ms 1.499 ms +2.4%
sort/mergeSort/110 1.633 ms 1.674 ms +2.5%
sort/mergeSort/120 1.819 ms 1.872 ms +2.9%
sort/mergeSort/130 2.029 ms 2.075 ms +2.3%
sort/mergeSort/140 2.180 ms 2.234 ms +2.5%
sort/mergeSort/150 2.352 ms 2.409 ms +2.4%
sort/mergeSort/160 2.561 ms 2.621 ms +2.3%
sort/mergeSort/170 2.728 ms 2.803 ms +2.7%
sort/mergeSort/180 2.925 ms 3.005 ms +2.7%
sort/mergeSort/190 3.123 ms 3.211 ms +2.8%
sort/mergeSort/200 3.309 ms 3.397 ms +2.7%
sort/mergeSort/210 3.509 ms 3.582 ms +2.1%
sort/mergeSort/220 3.691 ms 3.765 ms +2.0%
sort/mergeSort/230 3.882 ms 3.982 ms +2.6%
sort/mergeSort/240 4.105 ms 4.184 ms +1.9%
sort/mergeSort/250 4.316 ms 4.407 ms +2.1%
sort/mergeSort/260 4.544 ms 4.642 ms +2.2%
sort/mergeSort/270 4.701 ms 4.799 ms +2.1%
sort/mergeSort/280 4.894 ms 5.010 ms +2.4%
sort/mergeSort/290 5.081 ms 5.210 ms +2.5%
sort/mergeSort/300 5.284 ms 5.406 ms +2.3%
sort/mergeSort/310 5.463 ms 5.601 ms +2.5%
sort/mergeSort/320 5.726 ms 5.839 ms +2.0%
sort/mergeSort/330 5.893 ms 6.124 ms +3.9%
sort/mergeSort/340 6.108 ms 6.239 ms +2.1%
sort/mergeSort/350 6.339 ms 6.463 ms +2.0%
sort/mergeSort/360 6.577 ms 6.690 ms +1.7%
sort/mergeSort/370 6.743 ms 6.903 ms +2.4%
sort/mergeSort/380 6.970 ms 7.112 ms +2.0%
sort/mergeSort/390 7.208 ms 7.352 ms +2.0%
sort/mergeSort/400 7.378 ms 7.529 ms +2.0%
sort/mergeSort/410 7.596 ms 7.775 ms +2.4%
sort/mergeSort/420 7.832 ms 7.986 ms +2.0%
sort/mergeSort/430 8.056 ms 8.221 ms +2.0%
sort/mergeSort/440 8.241 ms 8.387 ms +1.8%
sort/mergeSort/450 8.489 ms 8.636 ms +1.7%
sort/mergeSort/460 8.696 ms 8.850 ms +1.8%
sort/mergeSort/470 8.925 ms 9.119 ms +2.2%
sort/mergeSort/480 9.114 ms 9.377 ms +2.9%
sort/mergeSort/490 9.393 ms 9.566 ms +1.8%
sort/mergeSort/500 9.623 ms 9.811 ms +2.0%
sort/quickSort/10 74.35 μs 74.48 μs +0.2%
sort/quickSort/20 281.4 μs 283.8 μs +0.9%
sort/quickSort/30 628.3 μs 630.1 μs +0.3%
sort/quickSort/40 1.128 ms 1.133 ms +0.4%
sort/quickSort/50 1.784 ms 1.790 ms +0.3%
sort/quickSort/60 2.588 ms 2.590 ms +0.1%
sort/quickSort/70 3.535 ms 3.543 ms +0.2%
sort/quickSort/80 4.666 ms 4.650 ms -0.3%
sort/quickSort/90 5.865 ms 5.899 ms +0.6%
sort/quickSort/100 7.219 ms 7.268 ms +0.7%
sort/quickSort/110 8.775 ms 8.834 ms +0.7%
sort/quickSort/120 10.43 ms 10.50 ms +0.7%
sort/quickSort/130 12.25 ms 12.34 ms +0.7%
sort/quickSort/140 14.11 ms 14.22 ms +0.8%
sort/quickSort/150 16.27 ms 16.35 ms +0.5%
sort/quickSort/160 18.49 ms 18.61 ms +0.6%
sort/quickSort/170 20.83 ms 20.99 ms +0.8%
sort/quickSort/180 23.35 ms 23.55 ms +0.9%
sort/quickSort/190 25.99 ms 26.22 ms +0.9%
sort/quickSort/200 28.73 ms 28.97 ms +0.8%
sort/quickSort/210 31.69 ms 31.99 ms +0.9%
sort/quickSort/220 34.87 ms 35.11 ms +0.7%
sort/quickSort/230 38.05 ms 38.33 ms +0.7%
sort/quickSort/240 41.49 ms 41.52 ms +0.1%
sort/quickSort/250 44.97 ms 45.00 ms +0.1%
sort/quickSort/260 48.65 ms 48.62 ms -0.1%
sort/quickSort/270 52.58 ms 52.61 ms +0.1%
sort/quickSort/280 56.56 ms 56.69 ms +0.2%
sort/quickSort/290 60.66 ms 60.68 ms +0.0%
sort/quickSort/300 64.80 ms 64.76 ms -0.1%
sort/quickSort/310 69.34 ms 69.38 ms +0.1%
sort/quickSort/320 74.54 ms 74.37 ms -0.2%
sort/quickSort/330 78.74 ms 79.34 ms +0.8%
sort/quickSort/340 83.77 ms 84.24 ms +0.6%
sort/quickSort/350 88.74 ms 89.34 ms +0.7%
sort/quickSort/360 93.36 ms 94.41 ms +1.1%
sort/quickSort/370 98.80 ms 100.1 ms +1.3%
sort/quickSort/380 104.4 ms 105.5 ms +1.1%
sort/quickSort/390 110.0 ms 111.6 ms +1.5%
sort/quickSort/400 115.8 ms 117.1 ms +1.1%
sort/quickSort/410 121.9 ms 123.4 ms +1.2%
sort/quickSort/420 127.8 ms 129.6 ms +1.4%
sort/quickSort/430 134.3 ms 135.6 ms +1.0%
sort/quickSort/440 140.7 ms 142.6 ms +1.4%
sort/quickSort/450 147.1 ms 148.9 ms +1.2%
sort/quickSort/460 154.1 ms 156.2 ms +1.4%
sort/quickSort/470 161.0 ms 162.8 ms +1.1%
sort/quickSort/480 168.3 ms 170.4 ms +1.2%
sort/quickSort/490 175.7 ms 177.7 ms +1.1%
sort/quickSort/500 183.2 ms 184.7 ms +0.8%
sum/compiled-from-Haskell/sum-right-builtin/10 8.961 μs 9.087 μs +1.4%
sum/compiled-from-Haskell/sum-right-builtin/50 43.84 μs 44.64 μs +1.8%
sum/compiled-from-Haskell/sum-right-builtin/100 88.06 μs 89.84 μs +2.0%
sum/compiled-from-Haskell/sum-right-builtin/500 465.0 μs 472.8 μs +1.7%
sum/compiled-from-Haskell/sum-right-builtin/1000 1.007 ms 1.020 ms +1.3%
sum/compiled-from-Haskell/sum-right-builtin/5000 6.599 ms 6.678 ms +1.2%
sum/compiled-from-Haskell/sum-right-builtin/10000 14.32 ms 14.40 ms +0.6%
sum/compiled-from-Haskell/sum-right-Scott/10 6.528 μs 6.532 μs +0.1%
sum/compiled-from-Haskell/sum-right-Scott/50 29.70 μs 30.63 μs +3.1%
sum/compiled-from-Haskell/sum-right-Scott/100 59.02 μs 60.76 μs +2.9%
sum/compiled-from-Haskell/sum-right-Scott/500 310.9 μs 317.5 μs +2.1%
sum/compiled-from-Haskell/sum-right-Scott/1000 671.0 μs 679.4 μs +1.3%
sum/compiled-from-Haskell/sum-right-Scott/5000 5.070 ms 5.118 ms +0.9%
sum/compiled-from-Haskell/sum-right-Scott/10000 11.28 ms 11.36 ms +0.7%
sum/compiled-from-Haskell/sum-right-data/10 23.80 μs 23.83 μs +0.1%
sum/compiled-from-Haskell/sum-right-data/50 113.5 μs 113.8 μs +0.3%
sum/compiled-from-Haskell/sum-right-data/100 226.5 μs 227.8 μs +0.6%
sum/compiled-from-Haskell/sum-right-data/500 1.242 ms 1.247 ms +0.4%
sum/compiled-from-Haskell/sum-right-data/1000 2.824 ms 2.825 ms +0.0%
sum/compiled-from-Haskell/sum-right-data/5000 15.92 ms 15.94 ms +0.1%
sum/compiled-from-Haskell/sum-right-data/10000 33.21 ms 32.96 ms -0.8%
sum/compiled-from-Haskell/sum-left-builtin/10 9.077 μs 9.236 μs +1.8%
sum/compiled-from-Haskell/sum-left-builtin/50 43.31 μs 44.07 μs +1.8%
sum/compiled-from-Haskell/sum-left-builtin/100 86.50 μs 87.81 μs +1.5%
sum/compiled-from-Haskell/sum-left-builtin/500 454.2 μs 460.4 μs +1.4%
sum/compiled-from-Haskell/sum-left-builtin/1000 981.3 μs 985.8 μs +0.5%
sum/compiled-from-Haskell/sum-left-builtin/5000 6.597 ms 6.576 ms -0.3%
sum/compiled-from-Haskell/sum-left-builtin/10000 14.13 ms 14.13 ms 0.0%
sum/compiled-from-Haskell/sum-left-Scott/10 6.468 μs 6.371 μs -1.5%
sum/compiled-from-Haskell/sum-left-Scott/50 29.45 μs 29.01 μs -1.5%
sum/compiled-from-Haskell/sum-left-Scott/100 58.72 μs 58.12 μs -1.0%
sum/compiled-from-Haskell/sum-left-Scott/500 308.9 μs 306.4 μs -0.8%
sum/compiled-from-Haskell/sum-left-Scott/1000 667.6 μs 662.2 μs -0.8%
sum/compiled-from-Haskell/sum-left-Scott/5000 4.915 ms 4.884 ms -0.6%
sum/compiled-from-Haskell/sum-left-Scott/10000 11.05 ms 10.91 ms -1.3%
sum/compiled-from-Haskell/sum-left-data/10 23.67 μs 24.16 μs +2.1%
sum/compiled-from-Haskell/sum-left-data/50 114.1 μs 115.0 μs +0.8%
sum/compiled-from-Haskell/sum-left-data/100 228.2 μs 231.6 μs +1.5%
sum/compiled-from-Haskell/sum-left-data/500 1.257 ms 1.266 ms +0.7%
sum/compiled-from-Haskell/sum-left-data/1000 2.845 ms 2.866 ms +0.7%
sum/compiled-from-Haskell/sum-left-data/5000 15.93 ms 15.88 ms -0.3%
sum/compiled-from-Haskell/sum-left-data/10000 32.73 ms 32.72 ms -0.0%
sum/hand-written-PLC/sum-right-builtin/10 9.463 μs 9.718 μs +2.7%
sum/hand-written-PLC/sum-right-builtin/50 42.66 μs 43.76 μs +2.6%
sum/hand-written-PLC/sum-right-builtin/100 86.11 μs 87.78 μs +1.9%
sum/hand-written-PLC/sum-right-builtin/500 438.2 μs 444.6 μs +1.5%
sum/hand-written-PLC/sum-right-builtin/1000 907.3 μs 918.3 μs +1.2%
sum/hand-written-PLC/sum-right-builtin/5000 5.295 ms 5.369 ms +1.4%
sum/hand-written-PLC/sum-right-builtin/10000 10.82 ms 10.98 ms +1.5%
sum/hand-written-PLC/sum-right-Scott/10 5.736 μs 5.795 μs +1.0%
sum/hand-written-PLC/sum-right-Scott/50 25.40 μs 25.54 μs +0.6%
sum/hand-written-PLC/sum-right-Scott/100 50.05 μs 50.25 μs +0.4%
sum/hand-written-PLC/sum-right-Scott/500 250.0 μs 255.9 μs +2.4%
sum/hand-written-PLC/sum-right-Scott/1000 533.1 μs 535.7 μs +0.5%
sum/hand-written-PLC/sum-right-Scott/5000 3.778 ms 3.788 ms +0.3%
sum/hand-written-PLC/sum-right-Scott/10000 8.470 ms 8.489 ms +0.2%
sum/hand-written-PLC/sum-left-builtin/10 10.06 μs 10.20 μs +1.4%
sum/hand-written-PLC/sum-left-builtin/50 46.55 μs 47.05 μs +1.1%
sum/hand-written-PLC/sum-left-builtin/100 92.51 μs 92.75 μs +0.3%
sum/hand-written-PLC/sum-left-builtin/500 451.8 μs 458.8 μs +1.5%
sum/hand-written-PLC/sum-left-builtin/1000 902.9 μs 913.0 μs +1.1%
sum/hand-written-PLC/sum-left-builtin/5000 4.474 ms 4.534 ms +1.3%
sum/hand-written-PLC/sum-left-builtin/10000 8.948 ms 9.051 ms +1.2%
sum/hand-written-PLC/sum-left-Scott/10 5.994 μs 6.194 μs +3.3%
sum/hand-written-PLC/sum-left-Scott/50 26.72 μs 27.96 μs +4.6%
sum/hand-written-PLC/sum-left-Scott/100 53.62 μs 55.75 μs +4.0%
sum/hand-written-PLC/sum-left-Scott/500 263.2 μs 276.9 μs +5.2%
sum/hand-written-PLC/sum-left-Scott/1000 539.8 μs 562.1 μs +4.1%
sum/hand-written-PLC/sum-left-Scott/5000 3.348 ms 3.415 ms +2.0%
sum/hand-written-PLC/sum-left-Scott/10000 6.967 ms 7.154 ms +2.7%
TOTAL 4.932 s 4.995 s +1.3%

@effectfully
Copy link
Contributor Author

One run:

Screenshot from 2024-06-06 01-03-26

Another run, same benchmarks, same commits:

Screenshot from 2024-06-06 01-04-22

I'm not sure what I should take from that, I've now run benchmarks in this PR dozens of times and they're sometimes no change and sometimes a major speedup.

Let's just merge it and get over it I suppose.

@effectfully effectfully requested review from Unisay and kwxm June 5, 2024 23:08
@effectfully effectfully added the No Changelog Required Add this to skip the Changelog Check label Jun 5, 2024
@effectfully effectfully changed the title [Builtins] Make 'BuiltinFailure' the last constructor [Builtins] Make 'BuiltinSuccess' the first constructor Jun 5, 2024
-- constructor). It is however not guaranteed that GHC will predict it, because even though
-- it's likely going to be a recursive case (it certainly is in the CEK machine) and thus the
-- constructor has precedence over 'BuiltinFailure', it doesn't have precedence over
-- 'BuiltinSuccessWithLogs', since that case is equally likely to be recursive.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder what happens if instead of

 | BuiltinSuccess a
 | BuiltinSuccessWithLogs (DList Text) a

we have

 | BuiltinSuccess (DList Text) a

with an empty DList Text in case when there are no logs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to convert it to a list and either match on the list before doing logging to see if we need to do logging in the first place, which is quite a bit of unnecessary allocation (first the DList together with a pointer to it, then the list) plus we need to perform the match which will probably confuse the branch predictor as well. Or we could do logging without checking whether the list is empty, but that's calling a function passed dynamically, so another bunch of allocation and pointer chasing.

I.e. BuiltinResult is specifically designed to avoid all of that in the most common case of success with no logs.

Do feel free to try it out though if you're curious.

@effectfully effectfully merged commit a43d8f9 into master Jun 6, 2024
16 of 17 checks passed
@effectfully effectfully deleted the effectfully/builtins/make-BuiltinFailure-the-last-constructor branch June 6, 2024 13:15
ramsay-t added a commit that referenced this pull request Aug 6, 2024
* Trace removal re-implemented as a IR rewrite rule (#5907)

* refactor: Internal module for RewriteRules, Monoid Instance

* Trace removal re-implemented as a IR rewrite rule

* Test case for an impure trace message, added note.

* CIP-0057 Howto: exporting a Plutus contract blueprint (#5817)

* Howto: exporting a Plutus contract blueprint

* howto/exporting-a-blueprint uses literal includes

* Changelog record

* Paragraph about `deriveArgumentBlueprint` / `deriveParameterBlueprint`

* Include plutus.json literally

* [Release] 1.26.0.0 (#5914)

Signed-off-by: Ana Pantilie <[email protected]>

* A quick isabelle experiment. (#5913)

* PLT-8171: Combine PIR, PLC, and UPLC into a single executable (#5699)

Acked-by: Nikolaos Bezirgiannis <[email protected]>

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* chore(deps): bump slackapi/slack-github-action from 1.25.0 to 1.26.0 (#5915)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v1.25.0...v1.26.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Kwxm/plc spec/bitwise conversions (#5911)

* Intial text for bitwise conversions

* Intial text for bitwise conversions

* Updates

* Tidying up

* Tidying up

* Deal with edge cases more concisely

* More tidying up

* Rearrange some cases

* Almost done

* More clarification

* Update specification date

* Some clarification after PR comments

* Use Int64 in CostModelParams (#5920)

* Change CMTooFewParamsError to a warning (#5912)

* [Costing] Provide support for multiple 'CostModel's (#5851)

* CaseOfCase kind mismatch error fix (#5923)

* Fix issue #5922

* test_extractTyArgs

* CaseOfCase: cover types with two type args

* Fix some Notes so they pass the check (#5930)

* Restore old cost model param names (#5932)

* Tidy up SimpleJSON.hs (#5936)

* chore: formatting (#5937)

* 1.27.0.0 (#5938)

* Do not build the plutus executable if GHC <9.6 (#5940)

* Update CONTRIBUTING.adoc (#5950)

* Add 'Note [Table of all possible ledger's states w.r.t. cost model parameters update]' (#5935)

* Remove annoying error message (#5956)

* Add plutus-tx-template Release Instructions and GH Workflow (#5952)

* [StdLib] Strictify 'fix' (#5939)


This makes `fix` stricter so that the body of the function that it takes always gets forced regardless of whether the necessary argument is provided or not.

Resolves #5961.

---------

Co-authored-by: Yura Lazaryev <[email protected]>

* [PIR] Don't generate 'fixBy' if you don't need to (#5954)

Removes unnecessary generation of `fixBy` when we only need `fix`.

* Chore: formatting, imports, pragmas. (#5965)

* CaseOfCase UPLC transformation tests. (#5960)

* Avoid evaluating `nilCase` strictly in `matchList`, and rename the original `matchList` to `matchList'` (#5901)

* Improvements to plutus-metatheory site (#5959)

* Improvements to plutus-metatheory site

* Added markdown titles to markdown files so they get built properly. Not all of the titles are very interesting.

---------

Co-authored-by: Ramsay Taylor <[email protected]>

* chore(deps): bump nixbuild/nix-quick-install-action from 27 to 28 (#5951)

Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 27 to 28.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](nixbuild/nix-quick-install-action@v27...v28)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [Build] Remove the doctests runner of 'prettyprinter-configurable' (#5974)

* Kwxm/mainnet script budgets (#5973)

* Mainnet script budget analysis

* Comment

* Add a comment

* Release 1.28.0.0 (#5975)

* [PlutusTx] [Builtins] Split 'FromBuiltin' and 'ToBuiltin' (#5971)

This addresses the [inconsistencies](#5547 (comment)) that we got from using the now retired `FromBuiltin`/`ToBuiltin` classes for two mutually exclusive purposes. Now we have two versions of those classes: one is used for converting builtins to Plutus Tx types and back, while the other one is for making builtins transparent/opaque within Plutus Tx. These two purposes are very similar, but also subtly different and that is explained in the docs.

* Update README.md (#5997)

* chore(deps): bump cachix/install-nix-action from 26 to 27 (#5999)

Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 26 to 27.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](cachix/install-nix-action@v26...V27)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Script to prepare binary executables for uploading to the github release page. (#6015)

* Kwxm/mainnet script budgets 2 (#6057)

* Get the script analysis executable to print out actual execution costs

* Tidying up

* Empty comment

* Dot

* Output evaluation status too

* Oops

* Add integerToByteString and byteStringToInteger to PlutusV2 at PV10 (#6056)

* [Refactoring] Remove 'UnknownBuiltin' and 'UnknownBuiltinType' (#6064)

* Conditionally add 'triage' label to new issues (#6061)

* Add triage label only when the issue does not have any of the 'Internal' labels

* Fix bug in add-triage-label.yml (#6067)

* chore(deps): bump benchmark-action/github-action-benchmark (#6058)

Bumps [benchmark-action/github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark) from 1.19.3 to 1.20.3.
- [Release notes](https://github.com/benchmark-action/github-action-benchmark/releases)
- [Changelog](https://github.com/benchmark-action/github-action-benchmark/blob/master/CHANGELOG.md)
- [Commits](benchmark-action/github-action-benchmark@v1.19.3...v1.20.3)

---
updated-dependencies:
- dependency-name: benchmark-action/github-action-benchmark
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add integerToByteString and byteStringToInteger to V2.ParamName (#6065)

* Add PlutusTx Map backed by Data (#5927)

Co-authored-by: Ziyang Liu <[email protected]>
Signed-off-by: Ana Pantilie <[email protected]>

* Let nightly.yml accept hedgehog-tests input (#6062)

* Let nightly.yml accept hedgehog-tests input
* Default tests from 10k to 50k

* Remove obsolete defer-plugin-errors flag (#6080)

* Add a Plutus Tx test utility package (#6086)

Signed-off-by: Ana Pantilie <[email protected]>

* [Errors] polish evaluation errors (#6043)

We have this distinction of "user" vs "internal" errors that made some sense when TPLC was what was evaluated, but now that it's UPLC, all of those are "user" errors. So I was going to remove the distinction entirely just to realize that it in fact still makes sense, it's just now "operational" vs "structural". This PR clarifies this.

I've also tweaked errors a bit while I was here, plus removed a bunch of unsafe functions from the CEK machine API (they were convenient when they were exposed from a single module, but now that we have several of them, it's no longer worth the trouble, plus we really should use some different approach to calling the CEK machine in the benchmarks, but that's not within the scope of this PR).

* [Test] Add do-notation support for 'TestNested' (#5948)

This refactors the `TestNested` machinery, so that

1. it supports listing tests in a `do`-block, which is something that I need in a different PR to update a huge `do`-block so that some of the tests there become golden
2. the API is more granular and pushes the user in the right direction

I've also improved some of the tests while I was there and unified the formatting. Most of the tests we have use 4 spaces instead of 2, so I preserved that, we're probably going to run `fourmolu` over all the files eventually anyway and that'll make the indentation 2-space-based.

* Run nightly tests on plutus-benchmark (#6091)

* [Exe] Generalize 'withL' to 'withLangGeneral' (#5918)

* Kwxm/provisional conway cost model (#6087)

* Rename semantics variants

* Change some names

* Get uplc to use correct cost model for semvar

* Dumping cost models

* Dumping cost models

* Tidy up exports and tests

* Move a function

* More updates

* Fix some typos

* Update models.R

* Add updated cost models

* Add updated cost models

* Update test results

* Remove obsolete entries from V3.ParamName

* Fix cost model interface test

* Fix (sort of) plutus-ledger-api tests

* Various small fixes

* Forgot to update parameters

* Add changelog entries

* Fix the changelog entries

* Address PR review comments

* Add costs for new builtins to V1 and V2 cost model files

* Fix some dependencies in plutus-benchmark

* Fix partial reversion of #6086 caused by merge

* Remove old cost model files

* Update/rename benchmark CSV files

* Update issue templates (#6037)

* Remove reference to benching.csv in plutus-core.cabal (#6149)

* PlutusV3: Datum/Redeemer in ScriptContext, Datum Optional, Unified Script Type (#5934)

* Kwxm/costing/reduce CEK CPU step costs B (#6153)

* Make CEK step costs for models B anc C identical

* Add changelog entry

* Add changelog entry

* [Test] Dump UPLC for 'strictLetRec' (#5963)

* Use the most recent evaluation context for most of the benchmarks (#6152)

* [Builtins] Polish handling of integral types (#6036)

This

- adds support for throwing operational unlifting errors in the builtins machinery, which allows us to attach a message to an unlifting failure. Unfortunately this is still not enough to propagate proper error messages to the user, because they get erased by the evaluation machinery down the line, this is our 2018's legacy of the stupid idea to have raw evaluation failures that don't carry any content
- makes handling of integral types in `PlutusCore.Default.Universe` uniform (it was a mess before with a weird partial set of instances and morally the same instances being implemented differently)

* Tests for the `preserve-logging` flag. (#6162)

* Require PlutusV3 scripts to evaluate to BuiltinUnit (#6159)

* Quadratic costing for integer division functions (#6161)

* Quadratic costing for integer division functions

* Correct some typos

* Agda typo

* Fix V2's costModelParamsForTesting (#6166)

* Release 1.29.0.0 (#6170)

* Update update-version.sh to match package names less greedily (#6174)

* Update update-version.sh to match package names less greedily

* Allow whitespace after comma

* Allow whitespace after comma

* Clarify comment

* More error checking (#6179)

* Reorganized Plutus user guide on the Docusaurus platform initial deployment (#6177)

* Initial Docusaurus Setup

* uploaded docs files and images

* added code files and images

* cleaned up mermaid diagrams for platform page

* committed yarn.lock file

* Add markdown link styling

* Update Plutus styling and add GA plugin

* updating yarn.lock file

* CSV Rendering component

* adding cost model parameters page that imports CSV files

* Fix gradient overflow on tables for dark mode

* changing title to Plutus user guide

* Update favicon and social card assets

* Remove landing page and set /docs to base path

* Update literal include roots

* Rename Haddock workflow and update to include Docusaurus build

* Update docusaurus/README.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr-index.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr-index.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr-index.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr2.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/essential-concepts/language-versions.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/essential-concepts/language-versions.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/essential-concepts/language-versions.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/essential-concepts/language-versions.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <[email protected]>

* committing after running pre-commit run --all-files command to fix build errors

---------

Co-authored-by: ianhanssoniohk <[email protected]>
Co-authored-by: olgahryniuk <[email protected]>

* Initial version of new combined-haddock.yml workflow (#6182)

* [Builtins] Make 'BuiltinSuccess' the first constructor (#5885)

This makes `BuiltinSuccess` the first constructor of `BuiltinResult`, see the comment there of why we want that.

See [this](#5885 (comment)) comment for the very ambiguous benchmarking results.

* [PlutusLedgerApi] [Refactoring] Polish imports and exports (#6178)

This

- resolves #6098
- moves a bunch of stuff shared among `V1`/`V2`/`V3` into `Common` (see the PR review)
- makes all imports in the `Common`/`V1`/`V2`/`V3` modules qualified so that it's clear where definitions come from and whether they are inherited from `Common` or an earlier ledger language
- fixes some formatting, adds a definition for consistency etc

* Adding link to Haddock documentation to index.md (#6187)

* removing outdated and incorrect content from the Plutus platform page (#6188)

* Add `Data.Value` to `PlutusLedgerAPI` (#6143)

Signed-off-by: Ana Pantilie <[email protected]>

* added the term Haddock where the public Plutus code libraries are mentioned since it is a term likely to be used in searches (#6190)

* Refactored Serialise/Flat-Via. Fixes #6083 (#6144)

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* Add Redeemer to V3 ScriptContext Pretty instance (#6191)

* Logical operations (#5970)

* Initial port of logical ops

* Add PlutusTx correspondents to the new builtins

* Tests for logical operations

* Rest of tests

* Formatting of denotations

* Rename byteStringReplicate to replicateByteString

* Correct references to CIP-121

* Changelogs, document tests

* Note commutativity for new operations

* Properly rename replicate builtin, add to plutus-tx-plugin

* Make new logical builtins available in V3

* Fix links to CIP-122, use toOpaque and fromOpaque instead

* Correct all references to CIP-122

* Rename bitwise builtins, use proper costing

* Bitwise primops will not be in Conway

* Rename tests to suit new primop names

* Combined Haddock Generation (#6146)

* Run nightly tests on plutus-shared instead of plutus-benchmark (#6195)

* Run combined-haddock.yml workflow on plutus-shared instead of plutus-runner (#6196)

* Fix combined_haddock.sh script (#6199)

* [Test] [Builtins] Add golden tests with unlifting errors (#6189)

This refactors a file with tests so that unit tests that are supposed to result in evaluation failure also become golden tests with the error message printed to a golden file. Need it to demonstrate that #6181 does indeed allow us to preserve operational unlifting errors.

* Changed the term "Documentation" to "User guide" in the upper left area of the docs site (#6200)

* Styling updates to docusaurus site

* Changed the term Documentation to User guide in the upper left corner of the docs site next to the PLUTUS wordmark logo.

* Add .yarn to .gitignore

---------

Co-authored-by: ianhanssoniohk <[email protected]>

* Update Alert Message in longitudinal-benchmark.yml (#6201)

* [Test] Add missing bitwise builtins golden files (#6204)

* [Errors] Preserve operational unlifting errors (#6181)

* Docs raise visibility code libraries (#6203)

* added more visibility to Haddock Plutus code libraries on index.md page

* adding new Haddock documentation page under the Reference nav menu

* updated Reference top-level page description

* minor style edit update docusaurus/docs/index.md

Co-authored-by: olgahryniuk <[email protected]>

* style edits update docusaurus/docs/reference/haddock-documentation.md

Co-authored-by: olgahryniuk <[email protected]>

---------

Co-authored-by: olgahryniuk <[email protected]>

* [Test] [Builtin] Polish 'MakeRead' tests (#6202)

* Remove AssocMap comparison instances (#6173)



Signed-off-by: Ana Pantilie <[email protected]>

* Update README.adoc (#6206)

Updated the link in README to point to the Plutus docs site on the docusaurus platform instead of Read the docs.

* Remove PyF as it depends on GHC and causes depenecy conflicts downstream. (#6208)

* Bitwise operations (#6090)

* Initial bitwise primitives

* Wire up new builtins

* Tests

* Changelogs

* Fix failing goldens

* Fix cost model for tests

* Bitwise primitives are not in Conway

* Finish shift tests

* Fix goldens

* Rest of tests

* Rename operations

* Note about split composition for shift property

* Explain bitwise tests in comments, remove AND and OR tests for finding and counting bits

* Goldens for bitwise primops

* Chop down property test running times a bit

* Add test for finding first in zero byte string, rename some tests for clarity

* Clarify implementation choices in the comments

* Tidy up helpers for property tests

* Consolidate all bitwise ops, retarget links to CIPs

* Reduce coverage limits for signature verification tests (#6209)

* moved the Getting Started page to immediately follow the Introduction page (#6211)

* Haskell Eq for AssocMap (#6213)



Signed-off-by: Ana Pantilie <[email protected]>

* Shorten some filenames in the conformance tests (#6214)

Shorten some file names

* MK-5422 move getting started page fixing link (#6215)

* moved the Getting Started page to immediately follow the Introduction page

* fixed broken link

* [Evaluation] Move stuff under `enterComputeCek` (#6156)

This polishes the structure of the CEK machine code a little: moves definitions having CEK-specific constraints around (as per `Note [Compilation peculiarities]`), removes outdated comments and moves pragmas around.

* Release 1.30.0.0 (#6216)

* plutus-ir: fix redundant imports (#6218)

* Fix incorrect Note reference (#6217)

* Add documentation to `Data.Value` (#6220)

* [Builtins] Replace 'EvaluationResult' with 'BuiltinResult' (#5926)

This replaces several `Emitter (EvaluationResult a)` occurrences with `BuiltinResult`, something that I missed the last [time](#5728).

In addition to that, it also replaces `EvaluationResult` with `BuiltinResult` in general. It doesn't matter performance-wise (modulo a regression that we didn't notice some time ago), but `BuiltinResult`, unlike `EvaluationResult`, allows one to attach an error message to a failure, which we do in this PR as well, meaning we now get better error messages. And we also now respect the operational vs structural evaluation errors distinction.

The PR also replaces `Emitter` with `BuiltinResult`. And makes the GHC Core of builtins smaller by making error-throwing functions (not) inline (see `Note [INLINE and OPAQUE on error-related definitions]` for details).

* New `./scripts/combined-haddock.sh` (#6205)

* Add workflow for publishing Agda Metatheory site (#6223)

* Add workflow for publishing AGDA metatheory site

* wip

* wip

* Fixes to `metatheory-site.yml` workflow (#6228)

* Final changes to `metatheory-site.yml` workflow (#6229)

* Update RELEASE.adoc with instructions to delete unused branches and tags (#6230)

* Complete Migration from RDT to Docusaurus (#6227)

- Delete the contents of doc/read-the-docs-site, only keeping the README with a migration notice.
- Move docusaurus folder into doc folder.
- Update the GH workflows for publishing the haddock site and docusaurus site.
- Delete GH web hook and update redirects on RTD site.
- Remove mentions of read-the-docs and combined-haddock from nix code
- Update release process, mentioning how to publish Docusaurus and the Haddock site
- Update links in Docusaurus mentioning the new haddock site

* Fix broken links in docusaurus docs (#6232)

* Add flake.nix for doc/docusaurus (#6233)

* New shell for Docusaurus
* Fix broken links

* making a spelling correction on the doc/docusaurus README file (#6235)

* [Builtins] Remove 'Emitter' and 'MonadEmitter' (#6224)

* Refactor GitHub Workflows (#6124)

* Fix & simplify SOP encoding example comment (#6231)

Here's a small fix for the comment:

- use one variable for the type everywhere
- fix ordering of `constr` arguments

Additionally,

- align the corresponding parts in the text

* Update github-action-benchmark version (#6238)

* Make it build with ghc 9.10 (#6079)

* Make it build with ghc 9.10
* Nix updates
* Disable failing test (cseExpensive test in untyped-plutus-core-test suite)
* plutus-tx-plugin-tests: Accept some CSE golden changes

* Update version of github-action-benchmark to v1.20.3 (#6240)

* Update version of github-action-benchmark to v1.20.3

* Fix bug in triage-label.yml

* Add workflows to check broken links and deploy papers to GH Pages (#6236)

* Add workflows to check broken links and deploy papers to GH Pages

* Publish papers and specs on push to master only (#6246)

* Cabal project to compile docusaurus examples. (#6239)

* Added cardano-constitution package (#6234)

* Added cardano-constitution package

* Remove cardano-constitution checks from CI

* Restrist x-compiling

---------

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>
Co-authored-by: zeme <[email protected]>

* [Test] Turn off CSE for problematic tests (#6249)

* [Test] Turn off CSE for the 'patternMatching' test (#6251)

* [Optimization] Remove case-of-case (#6248)

* Spec that verifies various script sizes (#6247)

* Add cardano-constitution-tests and slack-message-broker workflows (#6253)

* Updates to slack-message-broker.yml (#6258)

* Update slackapi/slack-github-action version -> v1.26.0 (#6259)

* Improve messages in slack-message-broker.yml (#6260)

* Fix error message in slack-message-broker.yml (#6261)

* Fix another error in slack-message-broker.yml (#6262)

* Fix "un-rolling" a list type. (#6165)

* Fix "un-rolling" a list type.

* Un-roll other general types: [], Maybe, (,), BuiltinUnit, BuiltinPair

* constitution: Add executable that creates json envelope (#6267)

Co-authored-by: Jamie Bertram <[email protected]>

* Fix bug in ./script/combined-haddock.sh (#6263)

* Update baseUrl in docusaurus.config.ts (#6275)

* Improvements to haddock-site.yml (support auto-publish on push to master) (#6276)

* Better messages in slack-message-broker.yml (#6280)

* Remove --ignore-url's from linkchecker step in combined-haddock.sh (#6281)

* Add cabal update step in combined-haddock.sh (#6283)

* Fix CsvTable.tsx and LiteralInclde.tsx in docusaurus (#6282)

* Fix haddock documentation for cardano-constitution (#6284)

* Stronger docusaurus builds and general QOL improvements (#6287)

* Move package-lock.json from top-level to scripts/blueprints (#6289)

* Fix editUrl in docusaurus.config.ts (#6291)

* chore(deps): bump JamesIves/github-pages-deploy-action (#6292)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.1 to 4.6.3.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.1...v4.6.3)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix typos (#6288)

* fix typo

* fix typos

* fix typo

* fix typo

* Detect broken links for haddock,metatheory,docusaurus + local repo files (#6294)

* Fix broken linkchecker workflows (#6295)

* Add .github/linkchecker/action.yml

* Add support for ghc910 to hydraJobs (#6293)

* Disable linkchecker on live sites (#6298)

* [Bug] Fix 'isNormalType' and add 'prop_normalizedTypeIsNormal' (#6272)

* Analyse script events supports PlutusLedgerLanguage V3 (#6300)

* fix: parameter 33 should be a Rational (#6302)

* Address guardrail script audit comments (#6305)

* All names are printed with their unique values by default. (#5972)

* chore: explicit imports

* Test demonstrates that without printed unique value a name won't roundtrip printing/parsing

* Pretty-printing with indexes by default, simple representation by
opt-in.

* Updated golden files

* fix: types in defaultConstitution (#6307)

More descriptive type names in the defaultConstitution

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* Fix overflow bug in shiftByteString, rotateByteString, add tests to ensure it stays fixed (#6309)

* Fix overflow bug in shiftByteString, add tests to ensure it stays fixed

* Fix similar issue in rotations

* Add shift wrapper for bounds checks

* Fix rotations similarly, note in docs

* Fix typo, note about fromIntegral

* Release 1.31.0.0 (#6312)

* Re-export bitwise builtins from PlutusTx.Prelude (#6313)

* [Costing] Increase the cost of constructors of '[]' (#6285)

* Change writeBits to take changelists as two separate lists (#6317)

* fix: types in defaultConstitution (#6307)

More descriptive type names in the defaultConstitution

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* Fix overflow bug in shiftByteString, rotateByteString, add tests to ensure it stays fixed (#6309)

* Fix overflow bug in shiftByteString, add tests to ensure it stays fixed

* Fix similar issue in rotations

* Add shift wrapper for bounds checks

* Fix rotations similarly, note in docs

* Fix typo, note about fromIntegral

* Release 1.31.0.0 (#6312)

* Modify writeBits to use two lists as arguments

* Fix writeBits in PlutusTx to match new API

* Fix goldens

---------

Co-authored-by: Romain Soulat <[email protected]>
Co-authored-by: Nikolaos Bezirgiannis <[email protected]>
Co-authored-by: Yura Lazarev <[email protected]>

* [Costing] Remove the 'ExMemoryUsage' instance for 'SomeTypeIn' (#6318)

* feat: New version of VT-CC-01 (#6320)

Signed
Changed the defaultConstitution.json (+ random fixes in some $comment)
Changed the tests values
Changed the traceability documents and updated the versioning
New golden test values

"All 654 tests passed (99.02s)"

* [Test] Make tests take reasonable time (#6286)

This dramatically reduces the number of tests run locally making evaluation times of plutus-test drop by more than 10x.

The reduced number of tests run locally is balanced by running the old amount of tests in the nightly test suite.

* fix: haddock error (#6323)

* Reverse hunk test_multiSplitSound (#6324)

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* Kwxm/costing/bitwise 4 (#6301)

* Costing for new bitwise builtins

* Fix alignment problem

* Add changelog entry

* Update some CIP URLs

* Update some CIP URLs

* Remove outdated comment

* Address some review comments

* Address some review comments

* Fix for changes in main branch

* Update costing for revised version of writeBits

* Fix benchmark tests for integer division builtins

* Fix comments

* Update benchmark results for writeBits split updates

* Try removing zip in writeBits

* Remove wrapper

* Rearrange code again

* Tidying up

* Fix plutus-tx

* Make some helpers INLINEABLE

* Rearrange code again

* Simplify known type instances for 'ListCostedByLength'

---------

Co-authored-by: effectfully <[email protected]>

* 8-queens using bitwise primops benchmark (#6311)

* Milestone 3 benchmark, test

* Fix cabal file

* Update writeBits use in NQueens

* [Plinth] [Builtins] Fix 'writeBits' (#6329)

* [Plinth] Ban using 'toBuiltin' and 'fromBuiltin' (#6342)

It used to be possible to use `toBuiltin`/`fromBuiltin` within a smart contract, but this is no longer the case, but this isn't obvious to the users as they already have code with `toBuiltin`/`fromBuiltin` that now just misbehaves instead of throwing a type error or breaking compilation some other way. This fixes the problem by throwing on any usage of `toBuiltin`/`fromBuiltin` with a suggestion to use `toOpaque`/`fromOpaque` instead.

* Kwxm/bitwise/enable nqueens benchmark (#6343)

This enables the bitwise `nqueens` benchmark following the fix for `writeBits` in Plinth in #6309.

```
$ cabal bench bitwise-bench
Build profile: -w ghc-9.6.6 -O1
In order, the following will be built (use -v for more details):
 - plutus-benchmark-0.1.0.0 (bench:bitwise-bench) (first run)
Preprocessing benchmark 'bitwise-bench' for plutus-benchmark-0.1.0.0...
Building benchmark 'bitwise-bench' for plutus-benchmark-0.1.0.0...
Running 1 benchmarks...
Benchmark bitwise-bench: RUNNING...
benchmarking 8-queens
time                 683.4 ms   (681.5 ms .. 685.0 ms)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 678.6 ms   (674.1 ms .. 680.4 ms)
std dev              3.211 ms   (92.63 μs .. 3.978 ms)
variance introduced by outliers: 19% (moderately inflated)

Benchmark bitwise-bench: FINISH
```

* [plc] Support for `Natural` numbers in the default universe, backed by `Integer`. (#6346)

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>

* nothunks ^>= 0.2 (#6349)

* Make NumBytesCostedAsNumWords use Integer instead of Int (#6350)

The `NumBytesCostedAsNumWords` wrapper contained an `Int`, but this changes it to `Integer` for consistency with the other wrappers.  This change also affects the type of `Bitwise.replicateByte`.

* [Benchmark] Reduce the number of benchmarks (#6328)

* [Test] Improve distribution of generated integers (#6315)

This improves distribution of generated integers, so that we more often hit important edge cases such as `2 ^ 16`, `2 ^ 32 - 1`, `2 ^ 32`, `2 ^ 64` etc.

* [Plinth] [Builtins] Add a general 'mkNil' (#6347)

This replaces the `mkNilInteger`, `mkNilData` etc boilerplate with a single `mkNil` function at the expense of moving the boilerplate to the compiler code.

* [Refactoring] Use 'KnownBuiltinTypeIn' instead of 'HasConstant' consistently (#6353)

* Restore auto generation of compiler option table (#6373)

* Add the bitwise builtins to the metatheory (#6368)

* Initial metatheory for rest of bitwise builtins

* Separate lists of expected failures for evaluation tests and budget tests

* Remove temporary test data

* Fix memory usage for lists in Agda

* Forgot about haskell-steppable-conformance

* Remove suprious s

* Restore CI checks for doc site code (#6376)

* andByteString conformance cases (#6356)

* andByteString conformance cases

* Move each case to its own directory

* Update goldens for merge

* Conformance cases for complementByteString (#6359)

* Conformance for orByteString (#6357)

* Conformance cases for readBit (#6360)

* Conformance for shiftByteString (#6363)

* Conformance for findFirstSetBit (#6366)

* Conformance for xorByteString (#6358)

* Conformance for countSetBits (#6365)

---------

Signed-off-by: Ana Pantilie <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Yura Lazarev <[email protected]>
Co-authored-by: Ana Pantilie <[email protected]>
Co-authored-by: Nikolaos Bezirgiannis <[email protected]>
Co-authored-by: Nikolaos Bezirgiannis <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kenneth MacKenzie <[email protected]>
Co-authored-by: Ziyang Liu <[email protected]>
Co-authored-by: effectfully <[email protected]>
Co-authored-by: Yura Lazarev <[email protected]>
Co-authored-by: zeme-wana <[email protected]>
Co-authored-by: Yura Lazaryev <[email protected]>
Co-authored-by: Joseph Fajen <[email protected]>
Co-authored-by: ianhanssoniohk <[email protected]>
Co-authored-by: olgahryniuk <[email protected]>
Co-authored-by: Koz Ross <[email protected]>
Co-authored-by: Samuel Leathers <[email protected]>
Co-authored-by: Vladimir Kalnitsky <[email protected]>
Co-authored-by: Erik de Castro Lopo <[email protected]>
Co-authored-by: zeme <[email protected]>
Co-authored-by: Jamie Bertram <[email protected]>
Co-authored-by: omahs <[email protected]>
Co-authored-by: Romain Soulat <[email protected]>
effectfully added a commit that referenced this pull request Aug 6, 2024
This makes `BuiltinSuccess` the first constructor of `BuiltinResult`, see the comment there of why we want that.

See [this](#5885 (comment)) comment for the very ambiguous benchmarking results.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants