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] Add the 'dropList' builtin #6468

Draft
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

effectfully
Copy link
Contributor

This experiment adds the dropList builtin so that folks can play with it. Not intended for merging.

@effectfully effectfully added Do not merge Builtins EXPERIMENT Experiments that we probably don't want to merge labels Sep 11, 2024
@effectfully effectfully force-pushed the effectfully/builtins/add-dropList branch from 017e9d4 to df4dea7 Compare September 11, 2024 18:10
@effectfully effectfully added the No Changelog Required Add this to skip the Changelog Check label Sep 11, 2024
@effectfully effectfully force-pushed the effectfully/builtins/add-dropList branch from df4dea7 to 7be8e1f Compare September 14, 2024 00:43
@effectfully effectfully force-pushed the effectfully/builtins/add-dropList branch from 7be8e1f to e22a57b Compare September 14, 2024 03:40
@effectfully effectfully mentioned this pull request Oct 23, 2024
3 tasks
@effectfully effectfully self-assigned this Oct 29, 2024
@effectfully effectfully force-pushed the effectfully/builtins/add-dropList branch from 16db02d to 41ea9b6 Compare October 29, 2024 23:43
Copy link
Contributor

@kwxm kwxm left a comment

Choose a reason for hiding this comment

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

I've added some comments based on a quick look. I may have another look later.

@@ -1557,6 +1558,18 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where
nullListDenotation
(runCostingFunOneArgument . paramNullList)

toBuiltinMeaning _semvar DropList =
let dropListDenotation :: Int -> SomeConstant uni [a] -> BuiltinResult (Opaque val [a])
Copy link
Contributor

Choose a reason for hiding this comment

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

The time taken for this will probably be linear in the value (not the size!) of the first argument. That'll mean susing some newtype wrapper, like this . We already have IntegerCostedLiterally, but this has an Int so that may need another wrapper.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ @ramsay-t FYI

but this has an Int so that may need another wrapper.

Actually, why did I even make it Int, what's the point? Looks like a thinko.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The time taken for this will probably be linear in the value (not the size!) of the first argument.

No, I think it's gonna be a minimum of

  • linear in the value of the first argument
  • linear in the length of the second argument

since drop maxBound [] equals [].

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, why did I even make it Int, what's the point? Looks like a thinko.

It's proper Integer in there now.

Copy link
Contributor

@kwxm kwxm Nov 5, 2024

Choose a reason for hiding this comment

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

No, I think it's gonna be a minimum of
linear in the value of the first argument
linear in the length of the second argument
since drop maxBound [] equals [].

I deliberately ignored that case! If we include the length of the list in the cost calculation then we'll have to traverse the entire list to measure the length when we're about to calculate the cost, and that'll slow things down. If we just base it on the number of things we want to drop then we'll still get a conservative estimate of the cost, and it'll be faster. Also, if you drop the whole of the list then you've probably done something wrong, and people probably won't submit scripts where that actually happens (or at least not often).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh I see. OK, that's clever. Yeah, I think I agree, although I'd perhaps prefer to store lists together with their length, although that'd perhaps slow everything else down. Fair enough!

@ramsay-t ignore what I said and only consider the original comment in this thread.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'd perhaps prefer to store lists together with their length

I've wondered about doing that in the past (and maybe something similar with Data for instance), but what happens if someone lies about the length of a list in their script? Maybe that could be checked during deserialisation ...

@@ -82,6 +82,7 @@ module PlutusTx.Builtins (
, headMaybe
, BI.head
, BI.tail
, BI.drop
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this also go in PlutusTx.Prelude? I seem to remember that the contents of that file are kind of random though.

@@ -408,6 +409,10 @@ chooseList :: BuiltinList a -> b -> b -> b
chooseList (BuiltinList []) b1 _ = b1
chooseList (BuiltinList (_:_)) _ b2 = b2

{-# OPAQUE drop #-}
drop :: Integer -> BuiltinList a -> BuiltinList a
Copy link
Contributor

@kwxm kwxm Oct 30, 2024

Choose a reason for hiding this comment

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

Why not dropList? So that it just replaces the Haskell version with minimal effort from the user?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For consistency, we also have head (and not headList) and tail (and not tailList) in this file.

@effectfully
Copy link
Contributor Author

/benchmark validation

@effectfully effectfully force-pushed the effectfully/builtins/add-dropList branch from f999164 to e8c0b9d Compare November 4, 2024 15:56
@effectfully
Copy link
Contributor Author

/benchmark validation

Copy link
Contributor

github-actions bot commented Nov 4, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Nov 4, 2024

Comparing benchmark results of 'validation' on 'ac8c225aeb' (base) and 'd36d0f87f4' (PR)

Results table
Script ac8c225 d36d0f8 Change
auction_1-1 254.6 μs 184.6 μs -27.5%
auction_1-2 905.2 μs 655.2 μs -27.6%
auction_1-3 897.8 μs 652.0 μs -27.4%
auction_1-4 317.5 μs 240.9 μs -24.1%
auction_2-1 254.2 μs 184.8 μs -27.3%
auction_2-2 904.4 μs 656.9 μs -27.4%
auction_2-3 1.185 ms 851.6 μs -28.1%
auction_2-4 898.0 μs 651.5 μs -27.4%
auction_2-5 329.2 μs 262.7 μs -20.2%
crowdfunding-success-1 297.1 μs 306.7 μs +3.2%
crowdfunding-success-2 297.5 μs 305.8 μs +2.8%
crowdfunding-success-3 297.6 μs 305.8 μs +2.8%
currency-1 343.3 μs 365.5 μs +6.5%
escrow-redeem_1-1 498.9 μs 509.0 μs +2.0%
escrow-redeem_1-2 497.8 μs 360.4 μs -27.6%
escrow-redeem_2-1 579.2 μs 545.3 μs -5.9%
escrow-redeem_2-2 579.7 μs 597.7 μs +3.1%
escrow-redeem_2-3 405.7 μs 607.6 μs +49.8%
escrow-refund-1 156.3 μs 227.1 μs +45.3%
future-increase-margin-1 249.4 μs 365.4 μs +46.5%
future-increase-margin-2 677.0 μs 786.8 μs +16.2%
future-increase-margin-3 761.5 μs 786.6 μs +3.3%
future-increase-margin-4 691.4 μs 561.3 μs -18.8%
future-increase-margin-5 1.152 ms 1.184 ms +2.8%
future-pay-out-1 353.8 μs 366.0 μs +3.4%
future-pay-out-2 761.5 μs 785.9 μs +3.2%
future-pay-out-3 761.8 μs 788.0 μs +3.4%
future-pay-out-4 1.147 ms 1.192 ms +3.9%
future-settle-early-1 354.2 μs 366.3 μs +3.4%
future-settle-early-2 765.7 μs 787.3 μs +2.8%
future-settle-early-3 767.9 μs 797.1 μs +3.8%
future-settle-early-4 856.5 μs 877.6 μs +2.5%
game-sm-success_1-1 380.5 μs 564.2 μs +48.3%
game-sm-success_1-2 208.2 μs 294.3 μs +41.4%
game-sm-success_1-3 641.1 μs 933.6 μs +45.6%
game-sm-success_1-4 234.2 μs 342.4 μs +46.2%
game-sm-success_2-1 386.3 μs 565.5 μs +46.4%
game-sm-success_2-2 200.7 μs 206.6 μs +2.9%
game-sm-success_2-3 638.8 μs 657.6 μs +2.9%
game-sm-success_2-4 234.8 μs 241.5 μs +2.9%
game-sm-success_2-5 639.1 μs 661.5 μs +3.5%
game-sm-success_2-6 234.5 μs 300.4 μs +28.1%
multisig-sm-1 474.5 μs 584.5 μs +23.2%
multisig-sm-2 546.8 μs 395.8 μs -27.6%
multisig-sm-3 551.9 μs 399.6 μs -27.6%
multisig-sm-4 559.6 μs 405.3 μs -27.6%
multisig-sm-5 788.6 μs 570.7 μs -27.6%
multisig-sm-6 527.1 μs 407.6 μs -22.7%
multisig-sm-7 547.7 μs 395.2 μs -27.8%
multisig-sm-8 553.1 μs 398.3 μs -28.0%
multisig-sm-9 557.2 μs 402.6 μs -27.7%
multisig-sm-10 786.8 μs 571.4 μs -27.4%
ping-pong-1 464.4 μs 339.7 μs -26.9%
ping-pong-2 462.4 μs 341.7 μs -26.1%
ping-pong_2-1 283.9 μs 271.9 μs -4.2%
prism-1 240.6 μs 246.8 μs +2.6%
prism-2 470.9 μs 601.2 μs +27.7%
prism-3 506.4 μs 537.3 μs +6.1%
pubkey-1 150.6 μs 208.2 μs +38.2%
stablecoin_1-1 900.5 μs 1.308 ms +45.3%
stablecoin_1-2 196.5 μs 290.1 μs +47.6%
stablecoin_1-3 1.038 ms 1.511 ms +45.6%
stablecoin_1-4 208.8 μs 225.7 μs +8.1%
stablecoin_1-5 1.383 ms 1.377 ms -0.4%
stablecoin_1-6 368.2 μs 266.7 μs -27.6%
stablecoin_2-1 1.276 ms 972.7 μs -23.8%
stablecoin_2-2 279.5 μs 287.4 μs +2.8%
stablecoin_2-3 1.471 ms 1.518 ms +3.2%
stablecoin_2-4 297.5 μs 305.9 μs +2.8%
token-account-1 266.9 μs 274.9 μs +3.0%
token-account-2 346.2 μs 494.4 μs +42.8%
uniswap-1 505.2 μs 605.1 μs +19.8%
uniswap-2 314.2 μs 323.5 μs +3.0%
uniswap-3 2.196 ms 2.564 ms +16.8%
uniswap-4 339.4 μs 492.8 μs +45.2%
uniswap-5 1.159 ms 1.683 ms +45.2%
uniswap-6 456.1 μs 466.1 μs +2.2%
vesting-1 491.0 μs 507.3 μs +3.3%
ac8c225 d36d0f8 Change
TOTAL 44.96 ms 45.43 ms +1.0%

Copy link
Contributor

github-actions bot commented Nov 4, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Nov 4, 2024

Comparing benchmark results of 'validation' on 'ac8c225aeb' (base) and 'd36d0f87f4' (PR)

Results table
Script ac8c225 d36d0f8 Change
auction_1-1 256.8 μs 182.8 μs -28.8%
auction_1-2 906.2 μs 650.9 μs -28.2%
auction_1-3 899.1 μs 648.2 μs -27.9%
auction_1-4 331.0 μs 234.9 μs -29.0%
auction_2-1 255.8 μs 181.9 μs -28.9%
auction_2-2 907.1 μs 653.2 μs -28.0%
auction_2-3 1.186 ms 848.7 μs -28.4%
auction_2-4 899.8 μs 647.0 μs -28.1%
auction_2-5 332.9 μs 235.7 μs -29.2%
crowdfunding-success-1 299.2 μs 213.3 μs -28.7%
crowdfunding-success-2 299.6 μs 212.9 μs -28.9%
crowdfunding-success-3 300.6 μs 214.1 μs -28.8%
currency-1 356.4 μs 256.8 μs -27.9%
escrow-redeem_1-1 499.6 μs 358.1 μs -28.3%
escrow-redeem_1-2 498.7 μs 356.6 μs -28.5%
escrow-redeem_2-1 584.2 μs 417.9 μs -28.5%
escrow-redeem_2-2 582.7 μs 417.5 μs -28.4%
escrow-redeem_2-3 410.9 μs 417.1 μs +1.5%
escrow-refund-1 157.1 μs 159.3 μs +1.4%
future-increase-margin-1 251.5 μs 256.9 μs +2.1%
future-increase-margin-2 545.6 μs 550.3 μs +0.9%
future-increase-margin-3 770.3 μs 550.4 μs -28.5%
future-increase-margin-4 690.3 μs 497.6 μs -27.9%
future-increase-margin-5 1.157 ms 841.3 μs -27.3%
future-pay-out-1 357.0 μs 255.6 μs -28.4%
future-pay-out-2 766.6 μs 546.7 μs -28.7%
future-pay-out-3 765.9 μs 551.0 μs -28.1%
future-pay-out-4 1.150 ms 1.129 ms -1.8%
future-settle-early-1 355.6 μs 273.1 μs -23.2%
future-settle-early-2 769.5 μs 789.2 μs +2.6%
future-settle-early-3 768.8 μs 778.8 μs +1.3%
future-settle-early-4 858.0 μs 869.0 μs +1.3%
game-sm-success_1-1 385.1 μs 559.7 μs +45.3%
game-sm-success_1-2 290.8 μs 264.6 μs -9.0%
game-sm-success_1-3 635.3 μs 657.7 μs +3.5%
game-sm-success_1-4 236.3 μs 238.7 μs +1.0%
game-sm-success_2-1 563.9 μs 395.4 μs -29.9%
game-sm-success_2-2 289.3 μs 218.9 μs -24.3%
game-sm-success_2-3 912.1 μs 654.7 μs -28.2%
game-sm-success_2-4 337.0 μs 238.3 μs -29.3%
game-sm-success_2-5 913.4 μs 943.5 μs +3.3%
game-sm-success_2-6 335.6 μs 337.4 μs +0.5%
multisig-sm-1 560.8 μs 568.6 μs +1.4%
multisig-sm-2 547.4 μs 556.2 μs +1.6%
multisig-sm-3 553.7 μs 562.4 μs +1.6%
multisig-sm-4 562.6 μs 568.5 μs +1.0%
multisig-sm-5 792.0 μs 796.2 μs +0.5%
multisig-sm-6 559.7 μs 570.1 μs +1.9%
multisig-sm-7 549.4 μs 393.1 μs -28.4%
multisig-sm-8 553.9 μs 399.0 μs -28.0%
multisig-sm-9 561.2 μs 398.8 μs -28.9%
multisig-sm-10 789.0 μs 567.3 μs -28.1%
ping-pong-1 464.5 μs 336.1 μs -27.6%
ping-pong-2 466.0 μs 336.0 μs -27.9%
ping-pong_2-1 286.5 μs 204.1 μs -28.8%
prism-1 242.6 μs 176.8 μs -27.1%
prism-2 587.5 μs 423.0 μs -28.0%
prism-3 527.3 μs 532.0 μs +0.9%
pubkey-1 202.5 μs 206.1 μs +1.8%
stablecoin_1-1 1.286 ms 1.314 ms +2.2%
stablecoin_1-2 281.4 μs 283.8 μs +0.9%
stablecoin_1-3 1.028 ms 1.500 ms +45.9%
stablecoin_1-4 210.0 μs 302.4 μs +44.0%
stablecoin_1-5 1.350 ms 1.935 ms +43.3%
stablecoin_1-6 259.9 μs 374.3 μs +44.0%
stablecoin_2-1 906.0 μs 1.296 ms +43.0%
stablecoin_2-2 198.5 μs 284.0 μs +43.1%
stablecoin_2-3 1.044 ms 1.498 ms +43.5%
stablecoin_2-4 230.1 μs 300.9 μs +30.8%
token-account-1 249.0 μs 271.6 μs +9.1%
token-account-2 478.7 μs 488.6 μs +2.1%
uniswap-1 590.2 μs 598.2 μs +1.4%
uniswap-2 317.1 μs 320.6 μs +1.1%
uniswap-3 2.513 ms 2.536 ms +0.9%
uniswap-4 482.8 μs 484.5 μs +0.4%
uniswap-5 1.653 ms 1.667 ms +0.8%
uniswap-6 458.5 μs 460.2 μs +0.4%
vesting-1 401.1 μs 501.0 μs +24.9%
ac8c225 d36d0f8 Change
TOTAL 46.81 ms 43.72 ms -6.6%

@kwxm
Copy link
Contributor

kwxm commented Nov 5, 2024

/benchmark validation

1 similar comment
@kwxm
Copy link
Contributor

kwxm commented Nov 5, 2024

/benchmark validation

Copy link
Contributor

github-actions bot commented Nov 5, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Nov 5, 2024

Comparing benchmark results of 'validation' on 'ac8c225aeb' (base) and 'd36d0f87f4' (PR)

Results table
Script ac8c225 d36d0f8 Change
auction_1-1 181.1 μs 258.2 μs +42.6%
auction_1-2 639.1 μs 919.6 μs +43.9%
auction_1-3 772.7 μs 912.8 μs +18.1%
auction_1-4 330.3 μs 332.6 μs +0.7%
auction_2-1 254.3 μs 259.0 μs +1.8%
auction_2-2 700.3 μs 917.1 μs +31.0%
auction_2-3 834.1 μs 1.200 ms +43.9%
auction_2-4 632.0 μs 879.7 μs +39.2%
auction_2-5 330.4 μs 274.8 μs -16.8%
crowdfunding-success-1 299.2 μs 302.9 μs +1.2%
crowdfunding-success-2 236.2 μs 309.3 μs +30.9%
crowdfunding-success-3 209.4 μs 308.6 μs +47.4%
currency-1 249.6 μs 262.4 μs +5.1%
escrow-redeem_1-1 496.2 μs 348.6 μs -29.7%
escrow-redeem_1-2 467.1 μs 347.8 μs -25.5%
escrow-redeem_2-1 406.8 μs 408.6 μs +0.4%
escrow-redeem_2-2 410.1 μs 536.6 μs +30.8%
escrow-redeem_2-3 408.9 μs 590.7 μs +44.5%
escrow-refund-1 156.6 μs 223.7 μs +42.8%
future-increase-margin-1 250.9 μs 362.4 μs +44.4%
future-increase-margin-2 539.1 μs 778.5 μs +44.4%
future-increase-margin-3 538.9 μs 775.8 μs +44.0%
future-increase-margin-4 644.0 μs 662.8 μs +2.9%
future-increase-margin-5 1.149 ms 795.9 μs -30.7%
future-pay-out-1 355.9 μs 250.5 μs -29.6%
future-pay-out-2 762.5 μs 537.1 μs -29.6%
future-pay-out-3 763.6 μs 645.2 μs -15.5%
future-pay-out-4 1.148 ms 813.9 μs -29.1%
future-settle-early-1 354.1 μs 251.5 μs -29.0%
future-settle-early-2 765.3 μs 621.1 μs -18.8%
future-settle-early-3 766.0 μs 777.2 μs +1.5%
future-settle-early-4 860.9 μs 865.7 μs +0.6%
game-sm-success_1-1 550.9 μs 558.1 μs +1.3%
game-sm-success_1-2 286.0 μs 289.7 μs +1.3%
game-sm-success_1-3 629.6 μs 921.5 μs +46.4%
game-sm-success_1-4 235.0 μs 338.2 μs +43.9%
game-sm-success_2-1 386.7 μs 559.6 μs +44.7%
game-sm-success_2-2 200.8 μs 290.1 μs +44.5%
game-sm-success_2-3 640.0 μs 922.6 μs +44.2%
game-sm-success_2-4 234.6 μs 336.8 μs +43.6%
game-sm-success_2-5 908.4 μs 925.2 μs +1.8%
game-sm-success_2-6 333.3 μs 343.3 μs +3.0%
multisig-sm-1 558.6 μs 567.9 μs +1.7%
multisig-sm-2 547.2 μs 557.0 μs +1.8%
multisig-sm-3 554.1 μs 561.7 μs +1.4%
multisig-sm-4 559.8 μs 566.3 μs +1.2%
multisig-sm-5 785.8 μs 805.1 μs +2.5%
multisig-sm-6 559.7 μs 566.7 μs +1.3%
multisig-sm-7 547.1 μs 555.2 μs +1.5%
multisig-sm-8 551.4 μs 387.7 μs -29.7%
multisig-sm-9 560.3 μs 392.9 μs -29.9%
multisig-sm-10 789.7 μs 557.3 μs -29.4%
ping-pong-1 463.8 μs 332.0 μs -28.4%
ping-pong-2 464.7 μs 336.0 μs -27.7%
ping-pong_2-1 284.3 μs 202.0 μs -28.9%
prism-1 241.2 μs 169.7 μs -29.6%
prism-2 586.5 μs 414.0 μs -29.4%
prism-3 525.4 μs 371.7 μs -29.3%
pubkey-1 202.1 μs 143.4 μs -29.0%
stablecoin_1-1 1.276 ms 908.8 μs -28.8%
stablecoin_1-2 280.4 μs 198.3 μs -29.3%
stablecoin_1-3 1.470 ms 1.054 ms -28.3%
stablecoin_1-4 297.6 μs 210.9 μs -29.1%
stablecoin_1-5 1.900 ms 1.358 ms -28.5%
stablecoin_1-6 367.1 μs 376.7 μs +2.6%
stablecoin_2-1 1.274 ms 1.293 ms +1.5%
stablecoin_2-2 280.3 μs 283.2 μs +1.0%
stablecoin_2-3 1.475 ms 1.495 ms +1.4%
stablecoin_2-4 208.5 μs 281.7 μs +35.1%
token-account-1 186.5 μs 271.3 μs +45.5%
token-account-2 481.1 μs 487.7 μs +1.4%
uniswap-1 583.2 μs 597.8 μs +2.5%
uniswap-2 219.3 μs 317.8 μs +44.9%
uniswap-3 2.144 ms 2.534 ms +18.2%
uniswap-4 371.5 μs 483.6 μs +30.2%
uniswap-5 1.649 ms 1.514 ms -8.2%
uniswap-6 455.4 μs 445.2 μs -2.2%
vesting-1 493.5 μs 473.9 μs -4.0%
ac8c225 d36d0f8 Change
TOTAL 45.51 ms 45.29 ms -0.5%

Copy link
Contributor

github-actions bot commented Nov 5, 2024

Click here to check the status of your benchmark.

Copy link
Contributor

github-actions bot commented Nov 5, 2024

Comparing benchmark results of 'validation' on 'ac8c225aeb' (base) and 'd36d0f87f4' (PR)

Results table
Script ac8c225 d36d0f8 Change
auction_1-1 256.0 μs 259.4 μs +1.3%
auction_1-2 911.0 μs 918.1 μs +0.8%
auction_1-3 898.7 μs 911.1 μs +1.4%
auction_1-4 317.8 μs 333.4 μs +4.9%
auction_2-1 256.6 μs 259.1 μs +1.0%
auction_2-2 912.7 μs 920.7 μs +0.9%
auction_2-3 1.189 ms 817.1 μs -31.3%
auction_2-4 906.5 μs 639.9 μs -29.4%
auction_2-5 330.6 μs 232.9 μs -29.6%
crowdfunding-success-1 299.5 μs 212.3 μs -29.1%
crowdfunding-success-2 300.3 μs 211.1 μs -29.7%
crowdfunding-success-3 300.9 μs 302.1 μs +0.4%
currency-1 320.0 μs 362.2 μs +13.2%
escrow-redeem_1-1 362.3 μs 502.0 μs +38.6%
escrow-redeem_1-2 350.6 μs 504.2 μs +43.8%
escrow-redeem_2-1 584.6 μs 587.8 μs +0.5%
escrow-redeem_2-2 584.1 μs 587.9 μs +0.7%
escrow-redeem_2-3 582.7 μs 545.5 μs -6.4%
escrow-refund-1 224.6 μs 157.3 μs -30.0%
future-increase-margin-1 358.8 μs 254.8 μs -29.0%
future-increase-margin-2 769.5 μs 544.3 μs -29.3%
future-increase-margin-3 770.0 μs 545.7 μs -29.1%
future-increase-margin-4 484.0 μs 494.4 μs +2.1%
future-increase-margin-5 809.8 μs 822.9 μs +1.6%
future-pay-out-1 251.1 μs 285.2 μs +13.6%
future-pay-out-2 540.2 μs 546.1 μs +1.1%
future-pay-out-3 782.6 μs 556.2 μs -28.9%
future-pay-out-4 794.7 μs 819.8 μs +3.2%
future-settle-early-1 274.9 μs 254.9 μs -7.3%
future-settle-early-2 736.2 μs 547.1 μs -25.7%
future-settle-early-3 541.9 μs 627.1 μs +15.7%
future-settle-early-4 606.6 μs 869.9 μs +43.4%
game-sm-success_1-1 561.0 μs 503.1 μs -10.3%
game-sm-success_1-2 287.9 μs 289.7 μs +0.6%
game-sm-success_1-3 908.9 μs 923.7 μs +1.6%
game-sm-success_1-4 337.2 μs 242.0 μs -28.2%
game-sm-success_2-1 554.1 μs 394.4 μs -28.8%
game-sm-success_2-2 289.1 μs 204.1 μs -29.4%
game-sm-success_2-3 909.9 μs 658.5 μs -27.6%
game-sm-success_2-4 337.2 μs 237.4 μs -29.6%
game-sm-success_2-5 914.9 μs 654.1 μs -28.5%
game-sm-success_2-6 231.6 μs 237.8 μs +2.7%
multisig-sm-1 395.4 μs 401.8 μs +1.6%
multisig-sm-2 384.7 μs 390.9 μs +1.6%
multisig-sm-3 388.9 μs 395.8 μs +1.8%
multisig-sm-4 394.4 μs 399.4 μs +1.3%
multisig-sm-5 555.3 μs 566.6 μs +2.0%
multisig-sm-6 504.0 μs 400.1 μs -20.6%
multisig-sm-7 551.0 μs 392.7 μs -28.7%
multisig-sm-8 557.5 μs 395.7 μs -29.0%
multisig-sm-9 560.1 μs 397.6 μs -29.0%
multisig-sm-10 793.1 μs 564.5 μs -28.8%
ping-pong-1 332.7 μs 462.3 μs +39.0%
ping-pong-2 329.2 μs 477.1 μs +44.9%
ping-pong_2-1 201.5 μs 291.2 μs +44.5%
prism-1 235.8 μs 174.6 μs -26.0%
prism-2 587.9 μs 416.9 μs -29.1%
prism-3 536.5 μs 478.6 μs -10.8%
pubkey-1 200.6 μs 144.5 μs -28.0%
stablecoin_1-1 1.287 ms 1.296 ms +0.7%
stablecoin_1-2 281.5 μs 283.4 μs +0.7%
stablecoin_1-3 1.481 ms 1.495 ms +0.9%
stablecoin_1-4 299.7 μs 302.0 μs +0.8%
stablecoin_1-5 1.915 ms 1.928 ms +0.7%
stablecoin_1-6 369.6 μs 371.6 μs +0.5%
stablecoin_2-1 1.287 ms 1.294 ms +0.5%
stablecoin_2-2 282.0 μs 283.2 μs +0.4%
stablecoin_2-3 1.478 ms 1.503 ms +1.7%
stablecoin_2-4 300.1 μs 301.3 μs +0.4%
token-account-1 269.1 μs 271.2 μs +0.8%
token-account-2 480.2 μs 486.3 μs +1.3%
uniswap-1 590.8 μs 597.0 μs +1.0%
uniswap-2 317.0 μs 318.1 μs +0.3%
uniswap-3 2.531 ms 1.717 ms -32.2%
uniswap-4 485.3 μs 339.2 μs -30.1%
uniswap-5 1.658 ms 1.168 ms -29.6%
uniswap-6 457.9 μs 431.5 μs -5.8%
vesting-1 493.2 μs 499.6 μs +1.3%
ac8c225 d36d0f8 Change
TOTAL 46.71 ms 42.41 ms -9.2%

@kwxm
Copy link
Contributor

kwxm commented Nov 5, 2024

-9.2%

Oh, come on!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builtins Do not merge EXPERIMENT Experiments that we probably don't want to merge 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