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

Use the most recent evaluation context for most of the benchmarks #6152

Merged
merged 1 commit into from
May 30, 2024

Conversation

kwxm
Copy link
Contributor

@kwxm kwxm commented May 30, 2024

I had some trouble doing some benchmarking yesterday and discovered that it was because mkEvalCtx was using the most recent cost model parameters with PlutusV1 and my branch had added some parameters that weren't compatible with the old cost model. This probably crept in when I was merging the PR that added the Conway cost model. I'm not entirely sure what we want to do (cf #6088) but this PR adds a mkMostRecentEvalCtx function that creates an evaluation context for the most recent ledger language and semantics variant, and that gets used for all of the benchmarks except for the validation benchmarks, which are run with the earliest possible context since they're very old.

I'm open to being convinced that we should do something different, so opinions are welcome.

Copy link
Contributor Author

@kwxm kwxm May 30, 2024

Choose a reason for hiding this comment

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

I'm not sure why the formatting's changed so much in this file. Emacs seems to think it should be different from what it was before.

@kwxm kwxm added Benchmarks No Changelog Required Add this to skip the Changelog Check labels May 30, 2024
@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark validation

1 similar comment
@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark validation

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark nofib

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark bls12-381-benchmarks

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark marlowe

Copy link
Contributor

@effectfully effectfully left a comment

Choose a reason for hiding this comment

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

Seems fine, I don't know what the "right" approach would be either.

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'validation' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
auction_1-1 171.7 μs 171.2 μs -0.3%
auction_1-2 628.1 μs 620.3 μs -1.2%
auction_1-3 623.0 μs 616.1 μs -1.1%
auction_1-4 223.4 μs 221.9 μs -0.7%
auction_2-1 172.6 μs 173.5 μs +0.5%
auction_2-2 629.8 μs 623.3 μs -1.0%
auction_2-3 818.9 μs 808.8 μs -1.2%
auction_2-4 622.5 μs 619.1 μs -0.5%
auction_2-5 223.6 μs 221.6 μs -0.9%
crowdfunding-success-1 202.1 μs 201.2 μs -0.4%
crowdfunding-success-2 201.6 μs 201.2 μs -0.2%
crowdfunding-success-3 201.4 μs 201.0 μs -0.2%
currency-1 244.7 μs 246.9 μs +0.9%
escrow-redeem_1-1 341.8 μs 338.4 μs -1.0%
escrow-redeem_1-2 341.6 μs 338.1 μs -1.0%
escrow-redeem_2-1 395.1 μs 389.7 μs -1.4%
escrow-redeem_2-2 396.6 μs 389.3 μs -1.8%
escrow-redeem_2-3 396.3 μs 389.6 μs -1.7%
escrow-refund-1 148.2 μs 149.3 μs +0.7%
future-increase-margin-1 244.8 μs 245.6 μs +0.3%
future-increase-margin-2 528.1 μs 533.7 μs +1.1%
future-increase-margin-3 528.4 μs 523.6 μs -0.9%
future-increase-margin-4 482.0 μs 478.5 μs -0.7%
future-increase-margin-5 806.6 μs 792.2 μs -1.8%
future-pay-out-1 245.1 μs 244.8 μs -0.1%
future-pay-out-2 528.4 μs 525.9 μs -0.5%
future-pay-out-3 528.5 μs 530.5 μs +0.4%
future-pay-out-4 806.3 μs 794.8 μs -1.4%
future-settle-early-1 245.1 μs 246.0 μs +0.4%
future-settle-early-2 528.4 μs 523.2 μs -1.0%
future-settle-early-3 529.6 μs 529.4 μs -0.0%
future-settle-early-4 607.4 μs 592.8 μs -2.4%
game-sm-success_1-1 376.0 μs 372.5 μs -0.9%
game-sm-success_1-2 192.3 μs 197.0 μs +2.4%
game-sm-success_1-3 630.3 μs 624.4 μs -0.9%
game-sm-success_1-4 218.5 μs 217.6 μs -0.4%
game-sm-success_2-1 375.2 μs 373.1 μs -0.6%
game-sm-success_2-2 192.3 μs 192.6 μs +0.2%
game-sm-success_2-3 631.2 μs 623.7 μs -1.2%
game-sm-success_2-4 218.1 μs 217.5 μs -0.3%
game-sm-success_2-5 630.3 μs 623.2 μs -1.1%
game-sm-success_2-6 218.5 μs 217.6 μs -0.4%
multisig-sm-1 387.0 μs 384.1 μs -0.7%
multisig-sm-2 376.2 μs 374.1 μs -0.6%
multisig-sm-3 382.1 μs 378.6 μs -0.9%
multisig-sm-4 385.2 μs 382.6 μs -0.7%
multisig-sm-5 548.8 μs 540.7 μs -1.5%
multisig-sm-6 387.5 μs 383.9 μs -0.9%
multisig-sm-7 377.3 μs 373.5 μs -1.0%
multisig-sm-8 382.5 μs 380.5 μs -0.5%
multisig-sm-9 384.6 μs 381.2 μs -0.9%
multisig-sm-10 547.8 μs 542.3 μs -1.0%
ping-pong-1 322.8 μs 322.0 μs -0.2%
ping-pong-2 322.5 μs 321.0 μs -0.5%
ping-pong_2-1 194.5 μs 194.4 μs -0.1%
prism-1 161.9 μs 160.9 μs -0.6%
prism-2 400.9 μs 398.7 μs -0.5%
prism-3 359.1 μs 360.6 μs +0.4%
pubkey-1 137.1 μs 136.9 μs -0.1%
stablecoin_1-1 902.2 μs 884.0 μs -2.0%
stablecoin_1-2 187.9 μs 192.9 μs +2.7%
stablecoin_1-3 1.037 ms 1.018 ms -1.8%
stablecoin_1-4 199.0 μs 199.3 μs +0.2%
stablecoin_1-5 1.326 ms 1.308 ms -1.4%
stablecoin_1-6 246.6 μs 245.4 μs -0.5%
stablecoin_2-1 907.5 μs 884.3 μs -2.6%
stablecoin_2-2 188.5 μs 192.5 μs +2.1%
stablecoin_2-3 1.041 ms 1.019 ms -2.1%
stablecoin_2-4 200.6 μs 198.2 μs -1.2%
token-account-1 185.3 μs 184.9 μs -0.2%
token-account-2 326.5 μs 322.7 μs -1.2%
uniswap-1 408.3 μs 406.0 μs -0.6%
uniswap-2 215.0 μs 217.9 μs +1.3%
uniswap-3 1.726 ms 1.687 ms -2.3%
uniswap-4 325.4 μs 327.5 μs +0.6%
uniswap-5 1.135 ms 1.110 ms -2.2%
uniswap-6 311.4 μs 314.5 μs +1.0%
vesting-1 339.6 μs 337.8 μs -0.5%
TOTAL 34.54 ms 34.21 ms -1.0%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'validation' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
auction_1-1 173.7 μs 168.6 μs -2.9%
auction_1-2 633.2 μs 617.3 μs -2.5%
auction_1-3 628.4 μs 611.7 μs -2.7%
auction_1-4 226.1 μs 225.1 μs -0.4%
auction_2-1 173.9 μs 169.1 μs -2.8%
auction_2-2 633.3 μs 616.6 μs -2.6%
auction_2-3 824.2 μs 805.2 μs -2.3%
auction_2-4 625.8 μs 608.5 μs -2.8%
auction_2-5 225.7 μs 218.8 μs -3.1%
crowdfunding-success-1 204.1 μs 198.4 μs -2.8%
crowdfunding-success-2 204.1 μs 197.5 μs -3.2%
crowdfunding-success-3 203.5 μs 198.0 μs -2.7%
currency-1 246.4 μs 241.9 μs -1.8%
escrow-redeem_1-1 343.1 μs 334.6 μs -2.5%
escrow-redeem_1-2 345.3 μs 340.0 μs -1.5%
escrow-redeem_2-1 398.7 μs 384.5 μs -3.6%
escrow-redeem_2-2 399.7 μs 385.5 μs -3.6%
escrow-redeem_2-3 399.0 μs 385.3 μs -3.4%
escrow-refund-1 150.5 μs 146.5 μs -2.7%
future-increase-margin-1 247.0 μs 241.4 μs -2.3%
future-increase-margin-2 531.3 μs 514.1 μs -3.2%
future-increase-margin-3 532.7 μs 520.5 μs -2.3%
future-increase-margin-4 484.1 μs 472.7 μs -2.4%
future-increase-margin-5 808.5 μs 791.7 μs -2.1%
future-pay-out-1 246.1 μs 242.8 μs -1.3%
future-pay-out-2 530.1 μs 517.9 μs -2.3%
future-pay-out-3 533.8 μs 517.1 μs -3.1%
future-pay-out-4 813.8 μs 793.4 μs -2.5%
future-settle-early-1 247.3 μs 241.5 μs -2.3%
future-settle-early-2 538.9 μs 517.2 μs -4.0%
future-settle-early-3 534.9 μs 522.7 μs -2.3%
future-settle-early-4 613.3 μs 592.7 μs -3.4%
game-sm-success_1-1 379.9 μs 366.3 μs -3.6%
game-sm-success_1-2 195.3 μs 188.1 μs -3.7%
game-sm-success_1-3 634.1 μs 613.6 μs -3.2%
game-sm-success_1-4 222.0 μs 213.1 μs -4.0%
game-sm-success_2-1 379.7 μs 367.7 μs -3.2%
game-sm-success_2-2 194.9 μs 188.5 μs -3.3%
game-sm-success_2-3 635.2 μs 616.6 μs -2.9%
game-sm-success_2-4 221.3 μs 213.4 μs -3.6%
game-sm-success_2-5 635.6 μs 615.9 μs -3.1%
game-sm-success_2-6 222.8 μs 214.1 μs -3.9%
multisig-sm-1 390.2 μs 377.9 μs -3.2%
multisig-sm-2 378.4 μs 368.3 μs -2.7%
multisig-sm-3 384.0 μs 372.2 μs -3.1%
multisig-sm-4 387.4 μs 378.0 μs -2.4%
multisig-sm-5 553.8 μs 532.8 μs -3.8%
multisig-sm-6 388.7 μs 378.6 μs -2.6%
multisig-sm-7 378.7 μs 367.9 μs -2.9%
multisig-sm-8 388.2 μs 376.3 μs -3.1%
multisig-sm-9 387.3 μs 376.6 μs -2.8%
multisig-sm-10 549.9 μs 535.6 μs -2.6%
ping-pong-1 325.5 μs 311.1 μs -4.4%
ping-pong-2 324.6 μs 312.9 μs -3.6%
ping-pong_2-1 197.3 μs 190.0 μs -3.7%
prism-1 164.9 μs 157.5 μs -4.5%
prism-2 406.0 μs 393.3 μs -3.1%
prism-3 365.7 μs 352.2 μs -3.7%
pubkey-1 139.9 μs 134.5 μs -3.9%
stablecoin_1-1 912.6 μs 890.0 μs -2.5%
stablecoin_1-2 190.9 μs 184.4 μs -3.4%
stablecoin_1-3 1.046 ms 1.018 ms -2.7%
stablecoin_1-4 202.4 μs 195.0 μs -3.7%
stablecoin_1-5 1.341 ms 1.302 ms -2.9%
stablecoin_1-6 249.9 μs 240.7 μs -3.7%
stablecoin_2-1 910.5 μs 885.3 μs -2.8%
stablecoin_2-2 190.9 μs 189.1 μs -0.9%
stablecoin_2-3 1.045 ms 1.020 ms -2.4%
stablecoin_2-4 202.2 μs 194.4 μs -3.9%
token-account-1 186.4 μs 181.6 μs -2.6%
token-account-2 328.8 μs 317.9 μs -3.3%
uniswap-1 409.8 μs 400.4 μs -2.3%
uniswap-2 216.5 μs 210.3 μs -2.9%
uniswap-3 1.729 ms 1.684 ms -2.6%
uniswap-4 328.4 μs 322.1 μs -1.9%
uniswap-5 1.138 ms 1.110 ms -2.5%
uniswap-6 315.6 μs 303.8 μs -3.7%
vesting-1 340.9 μs 334.5 μs -1.9%
TOTAL 34.82 ms 33.84 ms -2.8%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
clausify/formula1 2.975 ms 2.996 ms +0.7%
clausify/formula2 3.987 ms 4.003 ms +0.4%
clausify/formula3 10.86 ms 10.98 ms +1.1%
clausify/formula4 24.79 ms 25.14 ms +1.4%
clausify/formula5 52.70 ms 52.83 ms +0.2%
knights/4x4 17.17 ms 17.40 ms +1.3%
knights/6x6 45.15 ms 46.21 ms +2.3%
knights/8x8 79.83 ms 80.63 ms +1.0%
primetest/05digits 9.934 ms 10.12 ms +1.9%
primetest/08digits 16.09 ms 16.35 ms +1.6%
primetest/10digits 19.27 ms 19.78 ms +2.6%
primetest/20digits 38.24 ms 39.18 ms +2.5%
primetest/30digits 58.80 ms 60.10 ms +2.2%
primetest/40digits 79.09 ms 81.73 ms +3.3%
primetest/50digits 96.95 ms 99.35 ms +2.5%
queens4x4/bt 5.166 ms 5.261 ms +1.8%
queens4x4/bm 6.527 ms 6.684 ms +2.4%
queens4x4/bjbt1 6.285 ms 6.410 ms +2.0%
queens4x4/bjbt2 5.872 ms 5.976 ms +1.8%
queens4x4/fc 13.40 ms 13.44 ms +0.3%
queens5x5/bt 69.78 ms 70.63 ms +1.2%
queens5x5/bm 73.11 ms 74.24 ms +1.5%
queens5x5/bjbt1 81.92 ms 82.60 ms +0.8%
queens5x5/bjbt2 79.24 ms 80.10 ms +1.1%
queens5x5/fc 168.6 ms 171.2 ms +1.5%
TOTAL 1.066 s 1.083 s +1.7%

Copy link
Contributor

Click here to check the status of your benchmark.

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark nofib

Copy link
Contributor

Comparing benchmark results of 'bls12-381-benchmarks' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
hashAndAddG1/0 40.74 μs 41.30 μs +1.4%
hashAndAddG1/10 565.9 μs 563.9 μs -0.4%
hashAndAddG1/20 1.090 ms 1.090 ms 0.0%
hashAndAddG1/30 1.615 ms 1.612 ms -0.2%
hashAndAddG1/40 2.160 ms 2.137 ms -1.1%
hashAndAddG1/50 2.692 ms 2.662 ms -1.1%
hashAndAddG1/60 3.225 ms 3.188 ms -1.1%
hashAndAddG1/70 3.753 ms 3.707 ms -1.2%
hashAndAddG1/80 4.285 ms 4.238 ms -1.1%
hashAndAddG1/90 4.816 ms 4.813 ms -0.1%
hashAndAddG1/100 5.347 ms 5.345 ms -0.0%
hashAndAddG1/110 5.870 ms 5.877 ms +0.1%
hashAndAddG1/120 6.407 ms 6.413 ms +0.1%
hashAndAddG1/130 6.935 ms 6.943 ms +0.1%
hashAndAddG1/140 7.465 ms 7.473 ms +0.1%
hashAndAddG1/150 7.990 ms 7.995 ms +0.1%
hashAndAddG2/0 51.07 μs 50.94 μs -0.3%
hashAndAddG2/10 1.738 ms 1.738 ms 0.0%
hashAndAddG2/20 3.427 ms 3.427 ms 0.0%
hashAndAddG2/30 5.117 ms 5.121 ms +0.1%
hashAndAddG2/40 6.802 ms 6.801 ms -0.0%
hashAndAddG2/50 8.489 ms 8.487 ms -0.0%
hashAndAddG2/60 10.18 ms 10.18 ms 0.0%
hashAndAddG2/70 11.86 ms 11.86 ms 0.0%
hashAndAddG2/80 13.55 ms 13.55 ms 0.0%
hashAndAddG2/90 15.24 ms 15.24 ms 0.0%
hashAndAddG2/100 16.93 ms 16.92 ms -0.1%
hashAndAddG2/110 18.62 ms 18.61 ms -0.1%
hashAndAddG2/120 20.30 ms 20.30 ms 0.0%
hashAndAddG2/130 21.99 ms 21.98 ms -0.0%
hashAndAddG2/140 23.68 ms 23.67 ms -0.0%
hashAndAddG2/150 25.37 ms 25.36 ms -0.0%
uncompressAndAddG1/0 41.25 μs 41.81 μs +1.4%
uncompressAndAddG1/10 586.0 μs 585.6 μs -0.1%
uncompressAndAddG1/20 1.133 ms 1.124 ms -0.8%
uncompressAndAddG1/30 1.678 ms 1.672 ms -0.4%
uncompressAndAddG1/40 2.223 ms 2.217 ms -0.3%
uncompressAndAddG1/50 2.769 ms 2.760 ms -0.3%
uncompressAndAddG1/60 3.314 ms 3.305 ms -0.3%
uncompressAndAddG1/70 3.861 ms 3.847 ms -0.4%
uncompressAndAddG1/80 4.396 ms 4.391 ms -0.1%
uncompressAndAddG1/90 4.955 ms 4.926 ms -0.6%
uncompressAndAddG1/100 5.496 ms 5.474 ms -0.4%
uncompressAndAddG1/110 6.043 ms 6.020 ms -0.4%
uncompressAndAddG1/120 6.579 ms 6.569 ms -0.2%
uncompressAndAddG1/130 7.130 ms 7.100 ms -0.4%
uncompressAndAddG1/140 7.674 ms 7.637 ms -0.5%
uncompressAndAddG1/150 8.224 ms 8.184 ms -0.5%
uncompressAndAddG2/0 50.84 μs 50.97 μs +0.3%
uncompressAndAddG2/10 824.2 μs 824.0 μs -0.0%
uncompressAndAddG2/20 1.597 ms 1.597 ms 0.0%
uncompressAndAddG2/30 2.369 ms 2.370 ms +0.0%
uncompressAndAddG2/40 3.143 ms 3.143 ms 0.0%
uncompressAndAddG2/50 3.914 ms 3.917 ms +0.1%
uncompressAndAddG2/60 4.693 ms 4.690 ms -0.1%
uncompressAndAddG2/70 5.460 ms 5.462 ms +0.0%
uncompressAndAddG2/80 6.232 ms 6.235 ms +0.0%
uncompressAndAddG2/90 7.004 ms 7.011 ms +0.1%
uncompressAndAddG2/100 7.776 ms 7.783 ms +0.1%
uncompressAndAddG2/110 8.551 ms 8.559 ms +0.1%
uncompressAndAddG2/120 9.324 ms 9.323 ms -0.0%
uncompressAndAddG2/130 10.09 ms 10.10 ms +0.1%
uncompressAndAddG2/140 10.86 ms 10.87 ms +0.1%
uncompressAndAddG2/150 11.63 ms 11.65 ms +0.2%
pairing 1.091 ms 1.092 ms +0.1%
groth16Verify 1.986 ms 1.988 ms +0.1%
simpleVerify 1.301 ms 1.302 ms +0.1%
vrf 1.222 ms 1.227 ms +0.4%
g1Verify 1.185 ms 1.186 ms +0.1%
g2Verify 1.092 ms 1.093 ms +0.1%
aggregateSignatureSingleKey 2.707 ms 2.716 ms +0.3%
aggregateSignatureMultiKey 3.457 ms 3.468 ms +0.3%
schnorrG1Verify 321.5 μs 322.3 μs +0.2%
schnorrG2Verify 555.1 μs 557.2 μs +0.4%
TOTAL 442.1 ms 441.8 ms -0.1%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'marlowe' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
semantics/ffdd68a33afd86f8844c9f5e45b2bda5b035aa02274161b23d57709c0f8b8de6 917.1 μs 923.0 μs +0.6%
semantics/f339f59bdf92495ed2b14e2e4d3705972b4dda59aa929cffe0f1ff5355db8d79 4.555 ms 4.443 ms -2.5%
semantics/f2a8fd2014922f0d8e01541205d47e9bb2d4e54333bdd408cbe7c47c55e73ae4 716.1 μs 712.8 μs -0.5%
semantics/ecb5e8308b57724e0f8533921693f111eba942123cf8660aac2b5bac21ec28f0 641.0 μs 640.0 μs -0.2%
semantics/eb4a605ed3a64961e9e66ad9631c2813dadf7131740212762ae4483ec749fe1d 291.0 μs 292.4 μs +0.5%
semantics/e9234d2671760874f3f660aae5d3416d18ce6dfd7af4231bdd41b9ec268bc7e1 934.4 μs 918.3 μs -1.7%
semantics/e3afd22d01ff12f381cf915fd32358634e6c413f979f2492cf3339319d8cc079 293.6 μs 293.9 μs +0.1%
semantics/e34b48f80d49360e88c612f4016f7d68cb5678dd8cd5ddb981375a028b3a40a5 382.2 μs 380.3 μs -0.5%
semantics/e26c1cddba16e05fd10c34cbdb16ea6acdbac7c8323256c31c90c520ee6a1080 361.8 μs 360.1 μs -0.5%
semantics/dd11ae574eaeab0e9925319768989313a93913fdc347c704ddaa27042757d990 734.9 μs 733.3 μs -0.2%
semantics/dc241ac6ad1e04fb056d555d6a4f2d08a45d054c6f7f34355fcfeefebef479f3 448.3 μs 451.1 μs +0.6%
semantics/d64607eb8a1448595081547ea8780886fcbd9e06036460eea3705c88ea867e33 291.1 μs 292.0 μs +0.3%
semantics/d1c03759810747b7cab38c4296593b38567e11195d161b5bb0a2b58f89b2c65a 989.3 μs 991.6 μs +0.2%
semantics/d1ab832dfab25688f8845bec9387e46ee3f00ba5822197ade7dd540489ec5e95 37.97 ms 37.06 ms -2.4%
semantics/cf542b7df466b228ca2197c2aaa89238a8122f3330fe5b77b3222f570395d9f5 475.5 μs 478.9 μs +0.7%
semantics/ced1ea04649e093a501e43f8568ac3e6b37cd3eccec8cac9c70a4857b88a5eb8 815.0 μs 813.2 μs -0.2%
semantics/cdb9d5c233b288a5a9dcfbd8d5c1831a0bb46eec7a26fa31b80ae69d44805efc 853.0 μs 857.0 μs +0.5%
semantics/ccab11ce1a8774135d0e3c9e635631b68af9e276b5dabc66ff669d5650d0be1c 986.7 μs 958.4 μs -2.9%
semantics/c9efcb705ee057791f7c18a1de79c49f6e40ba143ce0579f1602fd780cabf153 790.8 μs 791.0 μs +0.0%
semantics/c4bb185380df6e9b66fc1ee0564f09a8d1253a51a0c0c7890f2214df9ac19274 710.6 μs 716.9 μs +0.9%
semantics/bb5345bfbbc460af84e784b900ec270df1948bb1d1e29eacecd022eeb168b315 932.2 μs 934.6 μs +0.3%
semantics/b50170cea48ee84b80558c02b15c6df52faf884e504d2c410ad63ba46d8ca35c 737.7 μs 741.5 μs +0.5%
semantics/b21a4df3b0266ad3481a26d3e3d848aad2fcde89510b29cccce81971e38e0835 1.310 ms 1.310 ms 0.0%
semantics/ad6db94ed69b7161c7604568f44358e1cc11e81fea90e41afebd669e51bb60c8 566.3 μs 568.5 μs +0.4%
semantics/acce04815e8fd51be93322888250060da173eccf3df3a605bd6bc6a456cde871 270.1 μs 270.6 μs +0.2%
semantics/acb9c83c2b78dabef8674319ad69ba54912cd9997bdf2d8b2998c6bfeef3b122 633.5 μs 634.8 μs +0.2%
semantics/a9a853b6d083551f4ed2995551af287880ef42aee239a2d9bc5314d127cce592 481.4 μs 484.5 μs +0.6%
semantics/a85173a832db3ea944fafc406dfe3fa3235254897d6d1d0e21bc380147687bd5 353.7 μs 357.5 μs +1.1%
semantics/9fabc4fc3440cdb776b28c9bb1dd49c9a5b1605fe1490aa3f4f64a3fa8881b25 1.000 ms 1.004 ms +0.4%
semantics/96e1a2fa3ceb9a402f2a5841a0b645f87b4e8e75beb636692478ec39f74ee221 292.2 μs 295.4 μs +1.1%
semantics/8d9ae67656a2911ab15a8e5301c960c69aa2517055197aff6b60a87ff718d66c 349.9 μs 353.4 μs +1.0%
semantics/8c7fdc3da6822b5112074380003524f50fb3a1ce6db4e501df1086773c6c0201 1.118 ms 1.128 ms +0.9%
semantics/82213dfdb6a812b40446438767c61a388d2c0cfd0cbf7fd4a372b0dc59fa17e1 1.217 ms 1.225 ms +0.7%
semantics/7cbc5644b745f4ea635aca42cce5e4a4b9d2e61afdb3ac18128e1688c07071ba 466.3 μs 468.8 μs +0.5%
semantics/7a758e17486d1a30462c32a5d5309bd1e98322a9dcbe277c143ed3aede9d265f 480.2 μs 486.6 μs +1.3%
semantics/75a8bb183688bce447e00f435a144c835435e40a5defc6f3b9be68b70b4a3db6 663.9 μs 674.8 μs +1.6%
semantics/7529b206a78becb793da74b78c04d9d33a2540a1abd79718e681228f4057403a 770.4 μs 777.8 μs +1.0%
semantics/74c67f2f182b9a0a66c62b95d6fac5ace3f7e71ea3abfc52ffbe3ecb93436ea2 768.7 μs 776.5 μs +1.0%
semantics/71965c9ccae31f1ffc1d85aa20a356d4ed97a420954018d8301ec4f9783be0d7 454.9 μs 461.7 μs +1.5%
semantics/70f65b21b77ddb451f3df9d9fb403ced3d10e1e953867cc4900cc25e5b9dec47 747.5 μs 755.4 μs +1.1%
semantics/6d88f7294dd2b5ce02c3dc609bc7715bd508009738401d264bf9b3eb7c6f49c1 471.0 μs 479.6 μs +1.8%
semantics/67ba5a9a0245ee3aff4f34852b9889b8c810fccd3dce2a23910bddd35c503b71 5.569 ms 5.475 ms -1.7%
semantics/675d63836cad11b547d1b4cddd498f04c919d4342612accf40913f9ae9419fac 994.9 μs 1.006 ms +1.1%
semantics/66af9e473d75e3f464971f6879cc0f2ef84bafcb38fbfa1dbc31ac2053628a38 1.185 ms 1.190 ms +0.4%
semantics/65bc4b69b46d18fdff0fadbf00dd5ec2b3e03805fac9d5fb4ff2d3066e53fc7e 2.347 ms 2.347 ms 0.0%
semantics/64c3d5b43f005855ffc4d0950a02fd159aa1575294ea39061b81a194ebb9eaae 642.0 μs 649.9 μs +1.2%
semantics/5f3d46c57a56cef6764f96c9de9677ac6e494dd7a4e368d1c8dd9c1f7a4309a5 470.6 μs 476.9 μs +1.3%
semantics/5f306b4b24ff2b39dab6cdc9ac6ca9bb442c1dc6f4e7e412eeb5a3ced42fb642 731.7 μs 737.6 μs +0.8%
semantics/5f130d19918807b60eab4c03119d67878fb6c6712c28c54f5a25792049294acc 292.5 μs 296.3 μs +1.3%
semantics/5e2c68ac9f62580d626636679679b97109109df7ac1a8ce86d3e43dfb5e4f6bc 500.5 μs 510.2 μs +1.9%
semantics/5e274e0f593511543d41570a4b03646c1d7539062b5728182e073e5760561a66 975.3 μs 983.9 μs +0.9%
semantics/5d0a88250f13c49c20e146819357a808911c878a0e0a7d6f7fe1d4a619e06112 993.4 μs 1.003 ms +1.0%
semantics/5abae75af26f45658beccbe48f7c88e74efdfc0b8409ba1e98f95fa5b6caf999 464.9 μs 472.2 μs +1.6%
semantics/57728d8b19b0e06412786f3dfed9e1894cd0ad1d2bc2bd497ec0ecb68f989d2b 289.3 μs 293.7 μs +1.5%
semantics/56333d4e413dbf1a665463bf68067f63c118f38f7539b7ba7167d577c0c8b8ce 748.1 μs 756.6 μs +1.1%
semantics/55dfe42688ad683b638df1fa7700219f00f53b335a85a2825502ab1e0687197e 289.8 μs 294.0 μs +1.4%
semantics/53ed4db7ab33d6f907eec91a861d1188269be5ae1892d07ee71161bfb55a7cb7 354.0 μs 358.8 μs +1.4%
semantics/52df7c8dfaa5f801cd837faa65f2fd333665fff00a555ce8c55e36ddc003007a 348.5 μs 351.4 μs +0.8%
semantics/4f9e8d361b85e62db2350dd3ae77463540e7af0d28e1eb68faeecc45f4655f57 389.0 μs 390.2 μs +0.3%
semantics/4d7adf91bfc93cebe95a7e054ec17cfbb912b32bd8aecb48a228b50e02b055c8 665.4 μs 674.7 μs +1.4%
semantics/4c3efd13b6c69112a8a888372d56c86e60c232125976f29b1c3e21d9f537845c 988.0 μs 995.1 μs +0.7%
semantics/44a9e339fa25948b48637fe7e10dcfc6d1256319a7b5ce4202cb54dfef8e37e7 290.4 μs 292.8 μs +0.8%
semantics/3db496e6cd39a8b888a89d0de07dace4397878958cab3b9d9353978b08c36d8a 793.8 μs 796.3 μs +0.3%
semantics/3bb75b2e53eb13f718eacd3263ab4535f9137fabffc9de499a0de7cabb335479 290.7 μs 292.7 μs +0.7%
semantics/383683bfcecdab0f4df507f59631c702bd11a81ca3841f47f37633e8aacbb5de 734.0 μs 737.5 μs +0.5%
semantics/33c3efd79d9234a78262b52bc6bbf8124cb321a467dedb278328215167eca455 607.2 μs 612.7 μs +0.9%
semantics/331e4a1bb30f28d7073c54f9a13c10ae19e2e396c299a0ce101ee6bf4b2020db 444.1 μs 449.3 μs +1.2%
semantics/322acde099bc34a929182d5b894214fc87ec88446e2d10625119a9d17fa3ec3d 292.0 μs 295.2 μs +1.1%
semantics/30aa34dfbe89e0c43f569929a96c0d2b74c321d13fec0375606325eee9a34a6a 1.114 ms 1.119 ms +0.4%
semantics/2f58c9d884813042bce9cf7c66048767dff166785e8b5183c8139db2aa7312d1 741.5 μs 742.2 μs +0.1%
semantics/2cb21612178a2d9336b59d06cbf80488577463d209a453048a66c6eee624a695 748.4 μs 754.2 μs +0.8%
semantics/28fdce478e179db0e38fb5f3f4105e940ece450b9ce8a0f42a6e313b752e6f2c 895.7 μs 893.1 μs -0.3%
semantics/2797d7ac77c1b6aff8e42cf9a47fa86b1e60f22719a996871ad412cbe4de78b5 1.827 ms 1.775 ms -2.8%
semantics/26e24ee631a6d927ea4fb4fac530cfd82ff7636986014de2d2aaa460ddde0bc3 538.7 μs 543.3 μs +0.9%
semantics/238b21364ab5bdae3ddb514d7001c8feba128b4ddcf426852b441f9a9d02c882 289.2 μs 293.7 μs +1.6%
semantics/21953bf8798b28df60cb459db24843fb46782b19ba72dc4951941fb4c20d2263 350.3 μs 352.9 μs +0.7%
semantics/202d273721330b31193405101e0637202e2a0f1140211c3e3f171e26312b0220 5.622 ms 5.550 ms -1.3%
semantics/1f0f02191604101e1f201016171604060d010d1d1c150e110a110e1006160a0d 1.001 ms 979.9 μs -2.1%
semantics/1d6e3c137149a440f35e0efc685b16bfb8052ebcf66ec4ad77e51c11501381c7 292.1 μs 294.5 μs +0.8%
semantics/1d56060c3b271226064c672a282663643b1b0823471c67737f0b076870331260 747.9 μs 750.6 μs +0.4%
semantics/1a573aed5c46d637919ccb5548dfc22a55c9fc38298d567d15ee9f2eea69d89e 875.8 μs 880.8 μs +0.6%
semantics/1a2f2540121f09321216090b2b1f211e3f020c2c133a1a3c3f3c232a26153a04 292.8 μs 294.6 μs +0.6%
semantics/18cefc240debc0fcab14efdd451adfd02793093efe7bc76d6322aed6ddb582ad 720.8 μs 725.3 μs +0.6%
semantics/12910f24d994d451ff379b12c9d1ecdb9239c9b87e5d7bea570087ec506935d5 473.7 μs 477.6 μs +0.8%
semantics/119fbea4164e2bf21d2b53aa6c2c4e79414fe55e4096f5ce2e804735a7fbaf91 723.0 μs 725.4 μs +0.3%
semantics/0f1d0110001b121d051e15140c0c05141d151c1f1d201c040f10091b020a0e1a 456.6 μs 459.9 μs +0.7%
semantics/0be82588e4e4bf2ef428d2f44b7687bbb703031d8de696d90ec789e70d6bc1d8 1.331 ms 1.335 ms +0.3%
semantics/0bcfd9487614104ec48de2ea0b2c0979866a95115748c026f9ec129384c262c4 1.084 ms 1.087 ms +0.3%
semantics/07070c070510030509010e050d00040907050e0a0d06030f1006030701020607 981.7 μs 986.9 μs +0.5%
semantics/0705030002040601010206030604080208020207000101060706050502040301 957.8 μs 959.7 μs +0.2%
semantics/0543a00ba1f63076c1db6bf94c6ff13ae7d266dd7544678743890b0e8e1add63 996.1 μs 997.8 μs +0.2%
semantics/04000f0b04051006000e060f09080d0b090d0104050a0b0f0506070f0a070008 712.3 μs 715.2 μs +0.4%
semantics/0104010200020000040103020102020004040300030304040400010301040303 740.5 μs 746.3 μs +0.8%
semantics/0101080808040600020306010000000302050807010208060100070207080202 745.3 μs 749.8 μs +0.6%
semantics/0101020201010201010200010102000201000201010102000102010201010000 290.1 μs 293.2 μs +1.1%
semantics/0101010001010101010101000100010100000001010000010001000001000101 896.0 μs 889.1 μs -0.8%
semantics/004025fd712d6c325ffa12c16d157064192992faf62e0b991d7310a2f91666b8 770.7 μs 772.0 μs +0.2%
semantics/0003040402030103010203030303000200000104030002040304020400000102 998.0 μs 1.001 ms +0.3%
semantics/0001000101000000010101000001000001010101010100000001000001010000 430.1 μs 431.1 μs +0.2%
semantics/0000020002010200020101020201000100010001020101020201010000020102 305.9 μs 308.5 μs +0.8%
role-payout/ff38b1ec89952d0247630f107a90cbbeb92ecbfcd19b284f60255718e4ec7548 190.6 μs 193.4 μs +1.5%
role-payout/fc8c5f45ffcdb024c21e0f34b22c23de8045a94d5e1a5bda1555c45ddb059f82 163.0 μs 165.0 μs +1.2%
role-payout/f7275afb60e33a550df13a132102e7e925dd28965a4efbe510a89b077ff9417f 158.3 μs 159.8 μs +0.9%
role-payout/f53e8cafe26647ccce51e4c31db13608aea1f39034c0f52dee2e5634ef66e747 173.4 μs 175.5 μs +1.2%
role-payout/f2932e4ca4bbb94b0a9ffbe95fcb7bd5639d9751d75d56d5e14efa5bbed981df 153.8 μs 156.8 μs +2.0%
role-payout/f1a1e6a487f91feca5606f72bbb1e948c71abf043c6a0ea83bfea9ec6a0f08d8 156.7 μs 159.2 μs +1.6%
role-payout/ee3962fbd7373360f46decef3c9bda536a0b1daf6cda3b8a4bcfd6deeb5b4c53 181.5 μs 185.2 μs +2.0%
role-payout/ec4712ee820eb959a43ebedfab6735f2325fa52994747526ffd2a4f4f84dd58e 180.8 μs 182.7 μs +1.1%
role-payout/eabeeae18131af89fa57936c0e9eb8d2c7adba534f7e1a517d75410028fa0d6c 157.4 μs 160.1 μs +1.7%
role-payout/df487b2fd5c1583fa33644423849bc1ab5f02f37edc0c235f34ef01cb12604f6 164.5 μs 166.8 μs +1.4%
role-payout/dc45c5f1b700b1334db99f50823321daaef0e6925b9b2fabbc9df7cde65af62e 162.4 μs 164.9 μs +1.5%
role-payout/da353bf9219801fa1bf703fc161497570954e9af7e10ffe95c911a9ef97e77bd 164.6 μs 166.8 μs +1.3%
role-payout/d6bc8ac4155e22300085784148bbc9d9bbfea896e1009dd396610a90e3943032 181.3 μs 184.2 μs +1.6%
role-payout/d5cda74eb0947e025e02fb8ed365df39d0a43e4b42cd3573ac2d8fcb29115997 174.4 μs 177.1 μs +1.5%
role-payout/cc1e82927f6c65b3e912200ae30588793d2066e1d4a6627c21955944ac9bd528 178.6 μs 181.1 μs +1.4%
role-payout/cb2ab8e22d1f64e8d204dece092e90e9bf1fa8b2a6e9cba5012dbe4978065832 156.0 μs 158.8 μs +1.8%
role-payout/caa409c40e39aed9b0f59214b4baa178c375526dea6026b4552b88d2cc729716 149.0 μs 152.0 μs +2.0%
role-payout/c99ecc2146ce2066ba6dffc734923264f8794815acbc2ec74c2c2c42ba272e4d 194.4 μs 197.5 μs +1.6%
role-payout/c78eeba7681d2ab51b4758efa4c812cc041928837c6e7563d8283cce67ce2e02 168.0 μs 171.3 μs +2.0%
role-payout/c4d4c88c5fe378a25a034025994a0d0b1642f10c8e6e513f872327fa895bfc7e 168.9 μs 171.3 μs +1.4%
role-payout/c11490431db3a92efdda70933ba411a0423935e73a75c856e326dbcf6672f3bf 156.4 μs 159.1 μs +1.7%
role-payout/bd79f4a84db23b7c4cd219d498bd581e085cbc3437957e74a8862281a700700b 182.7 μs 185.8 μs +1.7%
role-payout/bd460b7549b70c52e37b312a4242041eac18fe4a266f018bcea0c78a9085a271 180.9 μs 184.0 μs +1.7%
role-payout/bcdbc576d63b0454100ad06893812edafc2e7e4934fec1b44e2d06eb34f36eb8 157.4 μs 160.0 μs +1.7%
role-payout/b869f3928200061abb1c3060425b9354b0e08cbf4400b340b8707c14b34317cd 235.9 μs 239.0 μs +1.3%
role-payout/b6243a5b4c353ce4852aa41705111d57867d2783eeef76f6d59beb2360da6e90 212.9 μs 216.1 μs +1.5%
role-payout/b43564af5f13cc5208b92b1ad6d45369446f378d3891e5cb3e353b30d4f3fb10 157.2 μs 160.8 μs +2.3%
role-payout/af2e072b5adfaa7211e0b341e1f7319c4f4e7364a4247c9247132a927e914753 188.9 μs 191.9 μs +1.6%
role-payout/a92b4072cb8601fa697e1150c08463b14ffced54eb963df08d322216e27373cb 157.7 μs 159.5 μs +1.1%
role-payout/a7cb09f417c3f089619fe25b7624392026382b458486129efcff18f8912bf302 156.9 μs 159.4 μs +1.6%
role-payout/a6f064b83b31032ea7f25921364727224707268e472a569f584cc6b1d8c017e8 157.4 μs 159.9 μs +1.6%
role-payout/a6664a2d2a82f370a34a36a45234f6b33120a39372331678a3b3690312560ce9 192.7 μs 195.1 μs +1.2%
role-payout/a27524cfad019df45e4e8316f927346d4cc39da6bdd294fb2c33c3f58e6a8994 156.0 μs 158.2 μs +1.4%
role-payout/a1b25347409c3993feca1a60b6fcaf93d1d4bbaae19ab06fdf50cedc26cee68d 151.0 μs 153.5 μs +1.7%
role-payout/a0fba5740174b5cd24036c8b008cb1efde73f1edae097b9325c6117a0ff40d3b 174.3 μs 175.9 μs +0.9%
role-payout/a004a989c005d59043f996500e110fa756ad1b85800b889d5815a0106388e1d7 168.4 μs 170.3 μs +1.1%
role-payout/996804e90f2c75fe68886fc8511304b8ab9b36785f8858f5cb098e91c159dde9 161.5 μs 164.1 μs +1.6%
role-payout/962c2c658b19904372984a56409707401e64e9b03c1986647134cfd329ec5139 172.9 μs 174.4 μs +0.9%
role-payout/8c0fa5d9d6724c5c72c67e055d4bfc36a385ded7c3c81c08cdbd8705829af6e6 188.5 μs 192.1 μs +1.9%
role-payout/87167fc5469adac97c1be749326fa79a6b7862ce68aa4abcb438e3c034bd0899 187.4 μs 190.4 μs +1.6%
role-payout/803eae94d62e2afc0e835c204af8362170301bc329e2d849d5f5a47dddf479ec 180.1 μs 183.1 μs +1.7%
role-payout/7b1dd76edc27f00eb382bf996378155baf74d6a7c6f3d5ec837c39d29784aade 157.7 μs 160.6 μs +1.8%
role-payout/73f044f34a30f26639c58bafe952047f74c7bf1eafebab5aadf5b73cfb9024ed 157.6 μs 158.3 μs +0.4%
role-payout/6d66bddb4269bdf77392d3894da5341cf019d39787522af4f83f01285991e93c 158.3 μs 160.1 μs +1.1%
role-payout/6c364699767a84059ffd99cf718562a8c09d96e343f23dc481e8ffda13af424f 157.2 μs 159.2 μs +1.3%
role-payout/6b7bc2b9002a71b33cfd535d43f26334a283d0b9ad189b7cd74baac232c3b9fc 148.7 μs 151.6 μs +2.0%
role-payout/674b0577409957172ad85223c765d17e94c27714276c49c38dfae0a47a561a1e 153.4 μs 155.7 μs +1.5%
role-payout/6621a69217f09d91f42876a9c0cecf79de0e29bdd5b16c82c6c52cf959092ec4 173.1 μs 176.4 μs +1.9%
role-payout/622a7f3bc611b5149253c9189da022a9ff296f60a5b7c172a6dc286faa7284fa 190.2 μs 193.3 μs +1.6%
role-payout/5efe992e306e31cc857c64a62436ad2f9325acc5b4a74a8cebccdfd853ce63d2 161.8 μs 165.3 μs +2.2%
role-payout/5d4c62a0671c65a14f6a15093e3efc4f1816d95a5a58fd92486bedaae8d9526b 186.0 μs 187.6 μs +0.9%
role-payout/5ade103e9530dd0d572fe1b053ea65ad925c6ebbe321e873ace8b804363fa82c 223.8 μs 226.2 μs +1.1%
role-payout/5a2aae344e569a2c644dd9fa8c7b1f129850937eb562b7748c275f9e40bed596 156.2 μs 158.4 μs +1.4%
role-payout/5a0725d49c733130eda8bc6ed5234f7f6ff8c9dd2d201e8806125e5fbcc081f9 166.3 μs 167.7 μs +0.8%
role-payout/4fbcfdb577a56b842d6f6938187a783f71d9da7519353e3da3ef0c564e1eb344 194.7 μs 196.3 μs +0.8%
role-payout/4dd7755b6ca1f0c9747c1fc0ee4da799f6f1c07108e980bd9f820911ad711ff2 212.8 μs 214.4 μs +0.8%
role-payout/49b8275d0cb817be40865694ab05e3cfe5fc35fb43b78e7de68c1f3519b536bd 162.3 μs 165.7 μs +2.1%
role-payout/47364cfaf2c00f7d633283dce6cf84e4fd4e8228c0a0aa50e7c55f35c3ecaa1c 156.3 μs 158.3 μs +1.3%
role-payout/46f8d00030436e4da490a86b331fa6c3251425fb8c19556080e124d75bad7bd6 156.8 μs 160.0 μs +2.0%
role-payout/452e17d16222a427707fa83f63ffb79f606cc25c755a18b1e3274c964ed5ec99 192.8 μs 196.3 μs +1.8%
role-payout/4299c7fcf093a5dbfe114c188e32ca199b571a7c25cb7f766bf49f12dab308be 171.4 μs 173.8 μs +1.4%
role-payout/4121d88f14387d33ac5e1329618068e3848445cdd66b29e5ba382be2e02a174a 184.8 μs 186.5 μs +0.9%
role-payout/3897ef714bba3e6821495b706c75f8d64264c3fdaa58a3826c808b5a768c303d 160.5 μs 163.7 μs +2.0%
role-payout/371c10d2526fc0f09dbe9ed59e44dcd949270b27dc42035addd7ff9f7e0d05e7 185.9 μs 188.9 μs +1.6%
role-payout/36866914aa07cf62ef36cf2cd64c7f240e3371e27bb9fff5464301678e809c40 153.7 μs 156.1 μs +1.6%
role-payout/3569299fc986f5354d02e627a9eaa48ab46d5af52722307a0af72bae87e256dc 154.5 μs 156.3 μs +1.2%
role-payout/3565ee025317e065e8555eef288080276716366769aad89e03389f5ec4ce26d7 165.8 μs 169.0 μs +1.9%
role-payout/332c2b1c11383d1b373e1315201f1128010e0e1518332f273f141b23243f2a07 150.6 μs 152.8 μs +1.5%
role-payout/224ce46046fab9a17be4197622825f45cc0c59a6bd1604405148e43768c487ef 156.1 μs 158.6 μs +1.6%
role-payout/21a1426fb3fb3019d5dc93f210152e90b0a6e740ef509b1cdd423395f010e0ca 173.1 μs 175.7 μs +1.5%
role-payout/211e1b6c10260c4620074d2e372c260d38643a3d605f63772524034f0a4a7632 163.6 μs 164.9 μs +0.8%
role-payout/1a20b465d48a585ffd622bd8dc26a498a3c12f930ab4feab3a5064cfb3bc536a 172.4 μs 174.9 μs +1.5%
role-payout/195f522b596360690d04586a2563470f2214163435331a6622311f7323433f1c 152.5 μs 154.2 μs +1.1%
role-payout/159e5a1bf16fe984b5569be7011b61b5e98f5d2839ca7e1b34c7f2afc7ffb58e 158.3 μs 161.0 μs +1.7%
role-payout/121a0a1b12030616111f02121a0e070716090a0e031c071419121f141409031d 154.3 μs 156.8 μs +1.6%
role-payout/1138a04a83edc0579053f9ffa9394b41df38230121fbecebee8c039776a88c0c 156.1 μs 158.6 μs +1.6%
role-payout/0f010d040810040b10020e040f0e030b0a0d100f0c080c0c05000d04100c100f 182.1 μs 184.9 μs +1.5%
role-payout/0e97c9d9417354d9460f2eb35018d3904b7b035af16ab299258adab93be0911a 171.2 μs 174.0 μs +1.6%
role-payout/0e72f62b0f922e31a2340baccc768104025400cf7fdd7dae62fbba5fc770936d 177.5 μs 179.9 μs +1.4%
role-payout/0e00171d0f1e1f14070d0a00091f07101808021d081e1b120219081312081e15 158.1 μs 159.0 μs +0.6%
role-payout/0dbb692d2bf22d25eeceac461cfebf616f54003077a8473abc0457f18e025960 190.2 μs 192.8 μs +1.4%
role-payout/0d0f01050a0a0a0b0b050d0404090e0d0506000d0a041003040e0f100e0a0408 164.5 μs 167.7 μs +1.9%
role-payout/0c9d3634aeae7038f839a1262d1a8bc724dc77af9426459417a56ec73240f0e0 163.4 μs 164.8 μs +0.9%
role-payout/0bdca1cb8fa7e38e09062557b82490714052e84e2054e913092cd84ac071b961 184.9 μs 186.6 μs +0.9%
role-payout/07658a6c898ad6d624c37df1e49e909c2e9349ba7f4c0a6be5f166fe239bfcae 148.9 μs 151.4 μs +1.7%
role-payout/06317060a8e488b1219c9dae427f9ce27918a9e09ee8ac424afa33ca923f7954 165.0 μs 167.7 μs +1.6%
role-payout/057ebc80922f16a5f4bf13e985bf586b8cff37a2f6fe0f3ce842178c16981027 153.6 μs 156.1 μs +1.6%
role-payout/04f592afc6e57c633b9c55246e7c82e87258f04e2fb910c37d8e2417e9db46e5 219.1 μs 222.4 μs +1.5%
role-payout/041a2c3b111139201a3a2c173c392b170e16370d300f2d28342d0f2f0e182e01 187.0 μs 190.2 μs +1.7%
role-payout/0405010105020401010304080005050800040301010800080207080704020206 185.0 μs 186.8 μs +1.0%
role-payout/0403020000030204010000030001000202010101000304030001040404030100 168.3 μs 170.3 μs +1.2%
role-payout/03d730a62332c51c7b70c16c64da72dd1c3ea36c26b41cd1a1e00d39fda3d6cc 182.0 μs 184.7 μs +1.5%
role-payout/031d56d71454e2c4216ffaa275c4a8b3eb631109559d0e56f44ea8489f57ba97 194.7 μs 198.1 μs +1.7%
role-payout/0303020000020001010201060303040208070100050401080304020801030001 155.2 μs 157.2 μs +1.3%
role-payout/0202010002010100020102020102020001010101020102010001010101000100 156.7 μs 159.6 μs +1.9%
role-payout/0201020201020000020000010201020001020200000002010200000101010100 167.1 μs 171.2 μs +2.5%
role-payout/01dcc372ea619cb9f23c45b17b9a0a8a16b7ca0e04093ef8ecce291667a99a4c 150.2 μs 152.6 μs +1.6%
role-payout/0101000100000101010000010101000100010101000001000001000000010101 182.5 μs 185.9 μs +1.9%
role-payout/0100000100010000000001000100010101000101000001000000010000010000 242.5 μs 245.0 μs +1.0%
role-payout/0004000402010401030101030100040000010104020201030001000204020401 170.7 μs 173.9 μs +1.9%
TOTAL 137.0 ms 136.3 ms -0.5%

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

/benchmark nofib

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
clausify/formula1 3.004 ms 3.024 ms +0.7%
clausify/formula2 4.037 ms 4.026 ms -0.3%
clausify/formula3 11.04 ms 11.02 ms -0.2%
clausify/formula4 25.29 ms 25.23 ms -0.2%
clausify/formula5 53.16 ms 53.13 ms -0.1%
knights/4x4 17.82 ms 17.33 ms -2.7%
knights/6x6 46.63 ms 46.24 ms -0.8%
knights/8x8 81.64 ms 80.33 ms -1.6%
primetest/05digits 10.38 ms 10.09 ms -2.8%
primetest/08digits 16.82 ms 16.29 ms -3.2%
primetest/10digits 20.14 ms 19.73 ms -2.0%
primetest/20digits 39.82 ms 39.17 ms -1.6%
primetest/30digits 61.13 ms 59.88 ms -2.0%
primetest/40digits 82.49 ms 81.10 ms -1.7%
primetest/50digits 101.5 ms 98.95 ms -2.5%
queens4x4/bt 5.303 ms 5.225 ms -1.5%
queens4x4/bm 6.737 ms 6.611 ms -1.9%
queens4x4/bjbt1 6.472 ms 6.351 ms -1.9%
queens4x4/bjbt2 6.057 ms 5.948 ms -1.8%
queens4x4/fc 13.69 ms 13.55 ms -1.0%
queens5x5/bt 71.96 ms 70.86 ms -1.5%
queens5x5/bm 74.99 ms 74.40 ms -0.8%
queens5x5/bjbt1 84.19 ms 82.88 ms -1.6%
queens5x5/bjbt2 81.72 ms 80.83 ms -1.1%
queens5x5/fc 171.6 ms 171.4 ms -0.1%
TOTAL 1.098 s 1.084 s -1.3%

Copy link
Contributor

Click here to check the status of your benchmark.

Copy link
Contributor

Comparing benchmark results of 'nofib' on 'e675e654c' (base) and '479025b20' (PR)

Results table
Script e675e65 479025b Change
clausify/formula1 2.969 ms 3.026 ms +1.9%
clausify/formula2 3.978 ms 4.062 ms +2.1%
clausify/formula3 10.89 ms 11.13 ms +2.2%
clausify/formula4 24.75 ms 25.40 ms +2.6%
clausify/formula5 52.70 ms 53.83 ms +2.1%
knights/4x4 17.13 ms 17.74 ms +3.6%
knights/6x6 45.34 ms 46.07 ms +1.6%
knights/8x8 79.83 ms 81.55 ms +2.2%
primetest/05digits 10.05 ms 10.21 ms +1.6%
primetest/08digits 16.08 ms 16.56 ms +3.0%
primetest/10digits 19.35 ms 20.44 ms +5.6%
primetest/20digits 38.27 ms 39.57 ms +3.4%
primetest/30digits 58.76 ms 60.94 ms +3.7%
primetest/40digits 79.68 ms 82.66 ms +3.7%
primetest/50digits 97.25 ms 100.7 ms +3.5%
queens4x4/bt 5.170 ms 5.337 ms +3.2%
queens4x4/bm 6.557 ms 6.688 ms +2.0%
queens4x4/bjbt1 6.335 ms 6.481 ms +2.3%
queens4x4/bjbt2 5.903 ms 6.082 ms +3.0%
queens4x4/fc 13.42 ms 13.54 ms +0.9%
queens5x5/bt 69.76 ms 72.54 ms +4.0%
queens5x5/bm 73.35 ms 74.95 ms +2.2%
queens5x5/bjbt1 82.49 ms 84.11 ms +2.0%
queens5x5/bjbt2 79.01 ms 81.71 ms +3.4%
queens5x5/fc 168.7 ms 171.4 ms +1.6%
TOTAL 1.068 s 1.097 s +2.7%

@kwxm
Copy link
Contributor Author

kwxm commented May 30, 2024

Some slightly random benchmark results, but basically it looks good.

@kwxm kwxm merged commit 7411e14 into master May 30, 2024
8 of 9 checks passed
@kwxm kwxm deleted the kwxm/benchmarking/most-recent-evalctx branch May 30, 2024 19:54
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 <ana.pantilie95@gmail.com>

* A quick isabelle experiment. (#5913)

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

Acked-by: Nikolaos Bezirgiannis <bezirg@users.noreply.github.com>

Co-authored-by: Nikolaos Bezirgiannis <bezirg@users.noreply.github.com>

* 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] <support@github.com>
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 <Yuriy.Lazaryev@iohk.io>

* [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 <ramsay.taylor@iohk.io>

* 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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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 <unsafeFixIO@gmail.com>
Signed-off-by: Ana Pantilie <ana.pantilie95@gmail.com>

* 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 <ana.pantilie95@gmail.com>

* [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 <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr2.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* Update docusaurus/docs/adr/adr1.md

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

---------

Co-authored-by: ianhanssoniohk <ian.hansson@iohk.io>
Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

* 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 <ana.pantilie95@gmail.com>

* 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 <bezirg@users.noreply.github.com>

* 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 <ian.hansson@iohk.io>

* 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 <67585499+olgahryniuk@users.noreply.github.com>

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

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

---------

Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>

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

* Remove AssocMap comparison instances (#6173)



Signed-off-by: Ana Pantilie <ana.pantilie95@gmail.com>

* 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 <ana.pantilie95@gmail.com>

* 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 <bezirg@users.noreply.github.com>
Co-authored-by: zeme <lorenzo.calegari@iohk.io>

* [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 <jamie.bertram@tweag.io>

* 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] <support@github.com>
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 <329939+bezirg@users.noreply.github.com>

* 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 <329939+bezirg@users.noreply.github.com>

* 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 <117812549+RSoulatIOHK@users.noreply.github.com>
Co-authored-by: Nikolaos Bezirgiannis <329939+bezirg@users.noreply.github.com>
Co-authored-by: Yura Lazarev <1009751+Unisay@users.noreply.github.com>

* [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 <bezirg@users.noreply.github.com>

* 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 <effectfully@gmail.com>

* 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 <bezirg@users.noreply.github.com>

* 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 <ana.pantilie95@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Yura Lazarev <Unisay@users.noreply.github.com>
Co-authored-by: Ana Pantilie <45069775+ana-pantilie@users.noreply.github.com>
Co-authored-by: Nikolaos Bezirgiannis <329939+bezirg@users.noreply.github.com>
Co-authored-by: Nikolaos Bezirgiannis <bezirg@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kenneth MacKenzie <kwxm@inf.ed.ac.uk>
Co-authored-by: Ziyang Liu <unsafeFixIO@gmail.com>
Co-authored-by: effectfully <effectfully@gmail.com>
Co-authored-by: Yura Lazarev <1009751+Unisay@users.noreply.github.com>
Co-authored-by: zeme-wana <15709674+zeme-wana@users.noreply.github.com>
Co-authored-by: Yura Lazaryev <Yuriy.Lazaryev@iohk.io>
Co-authored-by: Joseph Fajen <104791413+joseph-fajen@users.noreply.github.com>
Co-authored-by: ianhanssoniohk <ian.hansson@iohk.io>
Co-authored-by: olgahryniuk <67585499+olgahryniuk@users.noreply.github.com>
Co-authored-by: Koz Ross <koz.ross@retro-freedom.nz>
Co-authored-by: Samuel Leathers <samuel.leathers@iohk.io>
Co-authored-by: Vladimir Kalnitsky <klntsky@gmail.com>
Co-authored-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Co-authored-by: zeme <lorenzo.calegari@iohk.io>
Co-authored-by: Jamie Bertram <jamie.bertram@tweag.io>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: Romain Soulat <117812549+RSoulatIOHK@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Benchmarks No Changelog Required Add this to skip the Changelog Check
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants