Skip to content

Re-use FVM benchmark transactions for interpreter/vm.#4355

Open
RZhang05 wants to merge 16 commits intomasterfrom
raymond/add-benchmarks
Open

Re-use FVM benchmark transactions for interpreter/vm.#4355
RZhang05 wants to merge 16 commits intomasterfrom
raymond/add-benchmarks

Conversation

@RZhang05
Copy link
Copy Markdown
Contributor

@RZhang05 RZhang05 commented Nov 24, 2025

Closes #4329

Description

Takes ~5 minutes for combined inter and vm benchmarks to complete.

inter (master) vs vm (master)

goos: darwin
goarch: arm64
pkg: github.com/onflow/cadence/runtime
cpu: Apple M4 Pro
                                                                │  inter.txt   │               vm.txt                │
                                                                │    sec/op    │   sec/op     vs base                │
RuntimeTransactions/EmptyLoop-14                                   46.64µ ± 2%   48.82µ ± 1%   +4.67% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  63.65µ ± 1%   58.83µ ± 2%   -7.58% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            76.09µ ± 1%   70.40µ ± 1%   -7.48% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                     104.80µ ± 1%   95.40µ ± 1%   -8.97% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     57.42µ ± 1%   57.44µ ± 1%        ~ (p=0.529 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            57.52µ ± 1%   57.42µ ± 0%        ~ (p=0.631 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                 166.5µ ± 1%   190.0µ ± 0%  +14.08% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14             166.9µ ± 0%   189.7µ ± 0%  +13.67% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           290.3µ ± 1%   250.8µ ± 1%  -13.61% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    210.2µ ± 0%   208.6µ ± 0%   -0.79% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                        1.863m ± 1%   1.274m ± 0%  -31.60% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            74.77µ ± 1%   74.52µ ± 3%        ~ (p=0.971 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                423.5µ ± 1%   444.9µ ± 1%   +5.03% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   259.3µ ± 0%   220.8µ ± 0%  -14.84% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      93.03µ ± 1%   80.85µ ± 2%  -13.08% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    89.49µ ± 1%   70.67µ ± 1%  -21.03% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                          125.73µ ± 0%   93.20µ ± 1%  -25.87% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                202.6µ ± 1%   220.0µ ± 1%   +8.61% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  188.0µ ± 1%   200.6µ ± 1%   +6.67% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  218.4µ ± 1%   235.8µ ± 2%   +7.97% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      365.7µ ± 0%   418.9µ ± 1%  +14.53% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               265.9µ ± 2%   257.4µ ± 0%   -3.21% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            770.4µ ± 1%   762.1µ ± 1%   -1.08% (p=0.005 n=10)
RuntimeTransactions/CopyDictString-14                              281.8µ ± 1%   286.0µ ± 1%   +1.50% (p=0.002 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              254.5µ ± 1%   267.0µ ± 1%   +4.90% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          318.7µ ± 1%   379.6µ ± 0%  +19.11% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             1.967m ± 2%   1.839m ± 1%   -6.53% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    1.916m ± 1%   1.732m ± 1%   -9.61% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                               758.7µ ± 3%   598.0µ ± 0%  -21.18% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                                654.8µ ± 1%   692.9µ ± 1%   +5.82% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        480.4µ ± 1%   384.8µ ± 0%  -19.90% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                              124.93µ ± 1%   90.86µ ± 1%  -27.27% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             176.3µ ± 1%   166.1µ ± 1%   -5.81% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  335.1µ ± 1%   299.4µ ± 0%  -10.65% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   159.9µ ± 1%   178.1µ ± 1%  +11.37% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 137.4µ ± 2%   122.5µ ± 1%  -10.83% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  136.5µ ± 0%   122.5µ ± 1%  -10.26% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                106.22µ ± 0%   90.87µ ± 0%  -14.45% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                 106.02µ ± 1%   91.24µ ± 1%  -13.94% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                   110.83µ ± 1%   96.22µ ± 1%  -13.18% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             3.487m ± 2%   3.313m ± 1%   -4.98% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                 499.3µ ± 1%   519.8µ ± 1%   +4.11% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.449m ± 1%   1.377m ± 1%   -4.98% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.452m ± 1%   1.380m ± 1%   -4.98% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        1.975m ± 0%   1.894m ± 2%   -4.14% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 136.4µ ± 0%   117.3µ ± 1%  -14.02% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           190.4µ ± 1%   149.4µ ± 1%  -21.51% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        229.4µ ± 0%   182.9µ ± 1%  -20.26% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              204.9µ ± 1%   175.3µ ± 1%  -14.44% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     205.3µ ± 1%   172.2µ ± 1%  -16.13% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                 127.8µ ± 2%   104.1µ ± 1%  -18.58% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  189.5µ ± 1%   154.5µ ± 0%  -18.47% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            295.6µ ± 0%   224.2µ ± 1%  -24.16% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         407.1µ ± 0%   310.2µ ± 1%  -23.81% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                332.8µ ± 1%   297.5µ ± 0%  -10.61% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            2.733m ± 1%   3.193m ± 1%  +16.83% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  1.743m ± 1%   1.628m ± 1%   -6.62% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   1.620m ± 1%   1.634m ± 0%   +0.86% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  131.6µ ± 1%   138.9µ ± 0%   +5.53% (p=0.000 n=10)
geomean                                                            277.2µ        257.4µ        -7.14%

                                                                │   inter.txt   │                vm.txt                 │
                                                                │     B/op      │     B/op       vs base                │
RuntimeTransactions/EmptyLoop-14                                   41.16Ki ± 0%    40.17Ki ± 0%   -2.42% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  45.92Ki ± 0%    43.71Ki ± 0%   -4.81% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            82.25Ki ± 0%    78.39Ki ± 0%   -4.69% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                      132.8Ki ± 0%    129.1Ki ± 0%   -2.74% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     57.36Ki ± 0%    61.82Ki ± 0%   +7.78% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            57.39Ki ± 0%    61.84Ki ± 0%   +7.76% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                 236.2Ki ± 0%    331.7Ki ± 0%  +40.44% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14             236.3Ki ± 0%    331.7Ki ± 0%  +40.36% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           406.1Ki ± 0%    384.5Ki ± 0%   -5.32% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    271.0Ki ± 0%    272.2Ki ± 0%   +0.44% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                        1.772Mi ± 0%    1.202Mi ± 0%  -32.19% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            81.57Ki ± 0%    87.91Ki ± 0%   +7.77% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                487.3Ki ± 0%    528.5Ki ± 0%   +8.46% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   558.2Ki ± 0%    533.1Ki ± 0%   -4.50% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      58.82Ki ± 0%    57.06Ki ± 0%   -3.00% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    84.80Ki ± 0%    64.64Ki ± 0%  -23.77% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                          127.69Ki ± 0%    81.97Ki ± 0%  -35.81% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                98.61Ki ± 0%   115.26Ki ± 0%  +16.88% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  75.26Ki ± 0%    92.58Ki ± 0%  +23.02% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  112.8Ki ± 0%    131.5Ki ± 0%  +16.58% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      343.6Ki ± 0%    470.7Ki ± 0%  +36.99% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               368.9Ki ± 0%    285.6Ki ± 0%  -22.56% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            304.4Ki ± 0%    225.0Ki ± 1%  -26.08% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              141.6Ki ± 0%    138.6Ki ± 0%   -2.13% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              166.9Ki ± 0%    176.7Ki ± 0%   +5.88% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          513.5Ki ± 0%    526.2Ki ± 0%   +2.46% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             2.342Mi ± 0%    2.238Mi ± 0%   -4.45% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    2.304Mi ± 0%    2.176Mi ± 0%   -5.57% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                              1112.7Ki ± 0%    977.9Ki ± 0%  -12.12% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                                1.027Mi ± 0%    1.285Mi ± 0%  +25.10% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        608.0Ki ± 0%    434.2Ki ± 0%  -28.58% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                              133.23Ki ± 0%    61.72Ki ± 0%  -53.68% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             309.6Ki ± 0%    308.7Ki ± 0%   -0.28% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  636.6Ki ± 0%    582.4Ki ± 0%   -8.52% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   232.7Ki ± 0%    199.1Ki ± 0%  -14.41% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 162.1Ki ± 0%    109.7Ki ± 0%  -32.36% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  162.1Ki ± 0%    108.1Ki ± 0%  -33.32% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                119.81Ki ± 0%    67.40Ki ± 0%  -43.75% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                 119.81Ki ± 0%    65.83Ki ± 0%  -45.05% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                   125.32Ki ± 0%    71.27Ki ± 0%  -43.13% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             4.925Mi ± 0%    5.083Mi ± 0%   +3.22% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                 767.2Ki ± 0%    992.3Ki ± 0%  +29.33% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.840Mi ± 0%    1.756Mi ± 0%   -4.52% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.839Mi ± 0%    1.756Mi ± 0%   -4.51% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        2.946Mi ± 0%    2.864Mi ± 0%   -2.80% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                156.46Ki ± 0%    95.53Ki ± 0%  -38.94% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           229.0Ki ± 0%    112.1Ki ± 0%  -51.04% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        271.7Ki ± 0%    138.3Ki ± 0%  -49.09% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              270.8Ki ± 0%    140.9Ki ± 0%  -47.95% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     260.8Ki ± 0%    131.1Ki ± 0%  -49.73% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                148.06Ki ± 0%    92.86Ki ± 0%  -37.28% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  218.0Ki ± 0%    132.4Ki ± 0%  -39.26% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            347.6Ki ± 0%    184.3Ki ± 0%  -46.98% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         452.5Ki ± 0%    252.0Ki ± 0%  -44.31% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                392.9Ki ± 0%    225.9Ki ± 0%  -42.50% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            3.005Mi ± 0%    2.627Mi ± 0%  -12.55% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  2.066Mi ± 0%    2.000Mi ± 0%   -3.19% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   2.330Mi ± 0%    2.413Mi ± 0%   +3.59% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  141.0Ki ± 0%    156.9Ki ± 0%  +11.26% (p=0.000 n=10)
geomean                                                            307.5Ki         260.5Ki       -15.27%

                                                                │  inter.txt   │               vm.txt                │
                                                                │  allocs/op   │  allocs/op   vs base                │
RuntimeTransactions/EmptyLoop-14                                    827.0 ± 0%    695.0 ± 0%  -15.96% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  1048.0 ± 0%    721.0 ± 0%  -31.20% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            2.187k ± 0%   1.507k ± 0%  -31.09% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                      3.105k ± 0%   2.384k ± 0%  -23.22% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     1.447k ± 0%   1.127k ± 0%  -22.11% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            1.447k ± 0%   1.127k ± 0%  -22.11% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                 5.412k ± 0%   3.825k ± 0%  -29.32% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14             5.412k ± 0%   3.825k ± 0%  -29.32% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           8.967k ± 0%   6.618k ± 0%  -26.20% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    5.650k ± 0%   5.808k ± 0%   +2.80% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                        42.34k ± 0%   29.74k ± 0%  -29.75% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            1.827k ± 0%   1.718k ± 0%   -5.97% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                8.057k ± 0%   7.886k ± 0%   -2.12% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   3.162k ± 0%   2.340k ± 0%  -26.00% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      1.680k ± 0%   1.266k ± 0%  -24.64% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    2.137k ± 0%   1.412k ± 0%  -33.93% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                           3.254k ± 0%   1.837k ± 0%  -43.55% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                2.162k ± 0%   2.457k ± 0%  +13.64% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  1.469k ± 0%   1.614k ± 0%   +9.87% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  1.965k ± 0%   2.055k ± 0%   +4.58% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      4.812k ± 0%   5.374k ± 0%  +11.68% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               5.121k ± 0%   4.033k ± 0%  -21.25% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            5.410k ± 0%   4.740k ± 0%  -12.38% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              2.178k ± 0%   2.157k ± 0%   -0.96% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              2.459k ± 0%   2.510k ± 0%   +2.07% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          10.30k ± 0%   11.59k ± 0%  +12.50% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             29.77k ± 0%   25.17k ± 0%  -15.45% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    33.10k ± 0%   26.12k ± 0%  -21.08% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                               22.97k ± 0%   15.13k ± 0%  -34.11% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                                20.73k ± 0%   15.00k ± 0%  -27.63% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                       11.001k ± 0%   9.462k ± 0%  -13.99% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                               2.371k ± 0%   1.052k ± 0%  -55.63% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             3.152k ± 0%   2.925k ± 0%   -7.20% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  6.194k ± 0%   5.282k ± 0%  -14.72% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   4.592k ± 0%   4.874k ± 0%   +6.14% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 3.876k ± 0%   3.366k ± 0%  -13.16% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  3.877k ± 0%   3.367k ± 0%  -13.15% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                 2.276k ± 0%   1.766k ± 0%  -22.41% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                  2.276k ± 0%   1.766k ± 0%  -22.41% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                    2.376k ± 0%   1.866k ± 0%  -21.46% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             85.48k ± 0%   71.95k ± 0%  -15.83% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                 17.22k ± 0%   10.89k ± 0%  -36.78% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          17.92k ± 0%   17.22k ± 0%   -3.90% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     17.92k ± 0%   17.22k ± 0%   -3.90% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        18.42k ± 0%   17.72k ± 0%   -3.78% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 2.656k ± 0%   1.657k ± 0%  -37.61% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           4.085k ± 0%   2.198k ± 0%  -46.19% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        4.997k ± 0%   2.713k ± 0%  -45.71% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              4.448k ± 0%   2.775k ± 0%  -37.61% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     4.286k ± 0%   2.620k ± 0%  -38.87% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                 2.643k ± 0%   1.635k ± 0%  -38.14% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  4.268k ± 0%   2.780k ± 0%  -34.86% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            7.391k ± 0%   4.517k ± 0%  -38.89% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                        10.307k ± 0%   6.742k ± 0%  -34.59% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                7.281k ± 0%   5.248k ± 0%  -27.92% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            88.66k ± 0%   88.66k ± 0%   -0.00% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  28.17k ± 0%   26.26k ± 0%   -6.80% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   16.98k ± 0%   17.51k ± 0%   +3.08% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  1.390k ± 0%   1.514k ± 0%   +8.92% (p=0.000 n=10)
geomean                                                            5.380k        4.289k       -20.27%

inter(master) vs vm (supun/subtype-gen-runtime)

goos: darwin
goarch: arm64
pkg: github.com/onflow/cadence/runtime
cpu: Apple M4 Pro
                                                                │  inter.txt   │             vm-opt.txt              │
                                                                │    sec/op    │   sec/op     vs base                │
RuntimeTransactions/EmptyLoop-14                                   46.64µ ± 2%   46.59µ ± 1%        ~ (p=0.670 n=10)
RuntimeTransactions/AssertTrue-14                                  63.65µ ± 1%   56.74µ ± 1%  -10.86% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            76.09µ ± 1%   46.78µ ± 1%  -38.52% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                     104.80µ ± 1%   71.68µ ± 1%  -31.61% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     57.42µ ± 1%   43.37µ ± 2%  -24.48% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            57.52µ ± 1%   43.46µ ± 1%  -24.44% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                166.55µ ± 1%   56.64µ ± 0%  -65.99% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14            166.91µ ± 0%   56.63µ ± 0%  -66.07% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           290.3µ ± 1%   115.2µ ± 1%  -60.31% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    210.2µ ± 0%   176.7µ ± 1%  -15.94% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                       1862.9µ ± 1%   988.8µ ± 1%  -46.92% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            74.77µ ± 1%   52.16µ ± 1%  -30.24% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                423.5µ ± 1%   389.1µ ± 1%   -8.13% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   259.3µ ± 0%   216.7µ ± 0%  -16.42% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      93.03µ ± 1%   82.91µ ± 1%  -10.87% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    89.49µ ± 1%   67.66µ ± 1%  -24.39% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                          125.73µ ± 0%   87.82µ ± 1%  -30.15% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                202.6µ ± 1%   203.1µ ± 1%        ~ (p=0.218 n=10)
RuntimeTransactions/CopyString-14                                  188.0µ ± 1%   191.5µ ± 1%   +1.84% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  218.4µ ± 1%   219.6µ ± 0%   +0.56% (p=0.029 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      365.7µ ± 0%   408.1µ ± 0%  +11.58% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               265.9µ ± 2%   241.4µ ± 2%   -9.22% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            770.4µ ± 1%   739.3µ ± 2%   -4.05% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              281.8µ ± 1%   280.3µ ± 2%        ~ (p=0.353 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              254.5µ ± 1%   255.0µ ± 1%        ~ (p=0.971 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          318.7µ ± 1%   372.9µ ± 1%  +17.00% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             1.967m ± 2%   1.662m ± 1%  -15.52% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    1.916m ± 1%   1.457m ± 1%  -23.97% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                               758.7µ ± 3%   270.4µ ± 0%  -64.37% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                                654.8µ ± 1%   232.4µ ± 1%  -64.51% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        480.4µ ± 1%   317.4µ ± 1%  -33.92% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                              124.93µ ± 1%   87.57µ ± 1%  -29.90% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             176.3µ ± 1%   166.9µ ± 2%   -5.35% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  335.1µ ± 1%   299.1µ ± 1%  -10.74% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   159.9µ ± 1%   146.7µ ± 1%   -8.28% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 137.4µ ± 2%   103.5µ ± 1%  -24.65% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  136.5µ ± 0%   102.7µ ± 1%  -24.74% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                106.22µ ± 0%   72.82µ ± 1%  -31.44% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                 106.02µ ± 1%   73.07µ ± 1%  -31.08% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                   110.83µ ± 1%   77.52µ ± 1%  -30.05% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             3.487m ± 2%   2.576m ± 1%  -26.12% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                499.26µ ± 1%   90.70µ ± 2%  -81.83% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.449m ± 1%   1.372m ± 0%   -5.32% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.452m ± 1%   1.368m ± 0%   -5.82% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        1.975m ± 0%   1.892m ± 1%   -4.20% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 136.4µ ± 0%   106.9µ ± 0%  -21.62% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           190.4µ ± 1%   136.8µ ± 1%  -28.13% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        229.4µ ± 0%   171.0µ ± 1%  -25.47% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              204.9µ ± 1%   159.7µ ± 0%  -22.05% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     205.3µ ± 1%   167.3µ ± 2%  -18.51% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                127.82µ ± 2%   91.61µ ± 2%  -28.33% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  189.5µ ± 1%   136.0µ ± 1%  -28.21% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            295.6µ ± 0%   193.8µ ± 0%  -34.44% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         407.1µ ± 0%   272.4µ ± 1%  -33.08% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                332.8µ ± 1%   276.0µ ± 0%  -17.05% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            2.733m ± 1%   2.714m ± 0%   -0.68% (p=0.003 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  1.743m ± 1%   1.591m ± 0%   -8.72% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   1.620m ± 1%   1.652m ± 1%   +1.95% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  131.6µ ± 1%   137.0µ ± 1%   +4.10% (p=0.000 n=10)
geomean                                                            277.2µ        207.6µ       -25.13%

                                                                │   inter.txt   │              vm-opt.txt               │
                                                                │     B/op      │     B/op       vs base                │
RuntimeTransactions/EmptyLoop-14                                   41.16Ki ± 0%    40.57Ki ± 0%   -1.43% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  45.92Ki ± 0%    44.12Ki ± 0%   -3.93% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            82.25Ki ± 0%    42.50Ki ± 0%  -48.33% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                     132.76Ki ± 0%    93.30Ki ± 0%  -29.72% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     57.36Ki ± 0%    40.03Ki ± 0%  -30.20% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            57.39Ki ± 0%    40.06Ki ± 0%  -30.20% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                236.21Ki ± 0%    52.52Ki ± 0%  -77.77% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14            236.30Ki ± 0%    52.54Ki ± 0%  -77.77% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           406.1Ki ± 0%    146.4Ki ± 0%  -63.96% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    271.0Ki ± 0%    236.4Ki ± 0%  -12.76% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                       1814.7Ki ± 0%    881.7Ki ± 0%  -51.41% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            81.57Ki ± 0%    56.40Ki ± 0%  -30.86% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                487.3Ki ± 0%    437.1Ki ± 0%  -10.31% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   558.2Ki ± 0%    533.4Ki ± 0%   -4.44% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      58.82Ki ± 0%    57.47Ki ± 0%   -2.31% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    84.80Ki ± 0%    65.06Ki ± 0%  -23.28% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                          127.69Ki ± 0%    82.38Ki ± 0%  -35.48% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                98.61Ki ± 0%   101.94Ki ± 0%   +3.37% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  75.26Ki ± 0%    83.09Ki ± 0%  +10.41% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  112.8Ki ± 0%    116.2Ki ± 0%   +2.99% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      343.6Ki ± 0%    456.4Ki ± 0%  +32.85% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               368.9Ki ± 0%    271.9Ki ± 0%  -26.27% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            304.4Ki ± 0%    209.8Ki ± 0%  -31.10% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              141.6Ki ± 0%    129.0Ki ± 0%   -8.86% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              166.9Ki ± 0%    161.7Ki ± 0%   -3.10% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          513.5Ki ± 0%    516.5Ki ± 0%   +0.58% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             2.342Mi ± 0%    1.959Mi ± 0%  -16.37% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    2.304Mi ± 0%    1.734Mi ± 0%  -24.74% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                              1112.7Ki ± 0%    411.0Ki ± 0%  -63.07% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                               1051.9Ki ± 0%    387.0Ki ± 0%  -63.21% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        608.0Ki ± 0%    413.5Ki ± 0%  -31.99% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                              133.23Ki ± 0%    62.14Ki ± 0%  -53.36% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             309.6Ki ± 0%    309.0Ki ± 0%   -0.18% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  636.6Ki ± 0%    582.7Ki ± 0%   -8.48% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   232.7Ki ± 0%    183.4Ki ± 0%  -21.16% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 162.1Ki ± 0%    103.8Ki ± 0%  -36.00% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  162.1Ki ± 0%    103.8Ki ± 0%  -36.00% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                119.81Ki ± 0%    61.52Ki ± 0%  -48.65% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                 119.81Ki ± 0%    61.52Ki ± 0%  -48.66% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                   125.32Ki ± 0%    66.96Ki ± 0%  -46.56% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             4.925Mi ± 0%    3.842Mi ± 0%  -21.97% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                767.25Ki ± 0%    68.49Ki ± 0%  -91.07% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.840Mi ± 0%    1.750Mi ± 0%   -4.85% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.839Mi ± 0%    1.751Mi ± 0%   -4.81% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        2.946Mi ± 0%    2.858Mi ± 0%   -2.99% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                156.46Ki ± 0%    93.89Ki ± 0%  -39.99% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           229.0Ki ± 0%    108.1Ki ± 0%  -52.81% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        271.7Ki ± 0%    134.3Ki ± 0%  -50.58% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              270.8Ki ± 0%    139.2Ki ± 0%  -48.59% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     260.8Ki ± 0%    129.3Ki ± 0%  -50.40% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                148.06Ki ± 0%    91.15Ki ± 0%  -38.43% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  218.0Ki ± 0%    128.3Ki ± 0%  -41.14% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            347.6Ki ± 0%    176.0Ki ± 0%  -49.36% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         452.5Ki ± 0%    241.2Ki ± 0%  -46.69% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                392.9Ki ± 0%    216.7Ki ± 0%  -44.84% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            3.005Mi ± 0%    2.615Mi ± 0%  -12.98% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  2.066Mi ± 0%    1.987Mi ± 0%   -3.82% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   2.330Mi ± 0%    2.409Mi ± 0%   +3.42% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  141.0Ki ± 0%    156.9Ki ± 0%  +11.26% (p=0.000 n=10)
geomean                                                            307.5Ki         204.2Ki       -33.58%

                                                                │  inter.txt   │             vm-opt.txt              │
                                                                │  allocs/op   │  allocs/op   vs base                │
RuntimeTransactions/EmptyLoop-14                                    827.0 ± 0%    709.0 ± 0%  -14.27% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  1048.0 ± 0%    735.0 ± 0%  -29.87% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            2187.0 ± 0%    694.0 ± 0%  -68.27% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                      3.105k ± 0%   1.571k ± 0%  -49.40% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     1447.0 ± 0%    634.0 ± 0%  -56.19% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            1447.0 ± 0%    634.0 ± 0%  -56.19% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                 5412.0 ± 0%    861.0 ± 0%  -84.09% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14             5412.0 ± 0%    861.0 ± 0%  -84.09% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           8.967k ± 0%   2.813k ± 0%  -68.63% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    5.650k ± 0%   4.888k ± 0%  -13.49% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                        42.34k ± 0%   22.76k ± 0%  -46.23% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            1827.0 ± 0%    934.0 ± 0%  -48.88% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                8.057k ± 0%   6.209k ± 0%  -22.94% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   3.162k ± 0%   2.354k ± 0%  -25.55% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      1.680k ± 0%   1.280k ± 0%  -23.81% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    2.137k ± 0%   1.426k ± 0%  -33.27% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                           3.254k ± 0%   1.851k ± 0%  -43.12% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                2.162k ± 0%   1.977k ± 0%   -8.56% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  1.469k ± 0%   1.366k ± 0%   -7.01% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  1.965k ± 0%   1.725k ± 0%  -12.21% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      4.812k ± 0%   5.131k ± 0%   +6.63% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               5.121k ± 0%   3.560k ± 0%  -30.48% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            5.410k ± 0%   4.245k ± 0%  -21.53% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              2.178k ± 0%   1.984k ± 0%   -8.91% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              2.459k ± 0%   2.252k ± 0%   -8.42% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          10.30k ± 0%   11.42k ± 0%  +10.88% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             29.77k ± 0%   20.98k ± 0%  -29.51% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    33.10k ± 0%   19.72k ± 0%  -40.43% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                              22.965k ± 0%   7.049k ± 0%  -69.31% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                               20.729k ± 0%   4.916k ± 0%  -76.28% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                       11.001k ± 0%   7.670k ± 0%  -30.28% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                               2.371k ± 0%   1.066k ± 0%  -55.04% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             3.152k ± 0%   2.939k ± 0%   -6.76% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  6.194k ± 0%   5.296k ± 0%  -14.50% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   4.592k ± 0%   3.990k ± 0%  -13.11% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 3.876k ± 0%   2.979k ± 0%  -23.14% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  3.877k ± 0%   2.980k ± 0%  -23.14% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                 2.276k ± 0%   1.379k ± 0%  -39.41% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                  2.276k ± 0%   1.379k ± 0%  -39.41% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                    2.376k ± 0%   1.479k ± 0%  -37.75% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             85.48k ± 0%   57.00k ± 0%  -33.32% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                17.220k ± 0%   1.202k ± 0%  -93.02% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          17.92k ± 0%   16.63k ± 0%   -7.16% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     17.92k ± 0%   16.63k ± 0%   -7.16% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        18.42k ± 0%   17.14k ± 0%   -6.96% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 2.656k ± 0%   1.467k ± 0%  -44.77% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           4.085k ± 0%   1.808k ± 0%  -55.74% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        4.997k ± 0%   2.323k ± 0%  -53.51% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              4.448k ± 0%   2.577k ± 0%  -42.06% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     4.286k ± 0%   2.422k ± 0%  -43.49% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                 2.643k ± 0%   1.445k ± 0%  -45.33% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  4.268k ± 0%   2.487k ± 0%  -41.73% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            7.391k ± 0%   3.924k ± 0%  -46.91% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                        10.307k ± 0%   5.948k ± 0%  -42.29% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                7.281k ± 0%   4.538k ± 0%  -37.67% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            88.66k ± 0%   87.47k ± 0%   -1.34% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  28.17k ± 0%   25.55k ± 0%   -9.29% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   16.98k ± 0%   17.17k ± 0%   +1.11% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  1.390k ± 0%   1.470k ± 0%   +5.76% (p=0.000 n=10)
geomean                                                            5.380k        3.268k       -39.25%

vm(master) vs vm (supun/subtype-gen-runtime)

goos: darwin
goarch: arm64
pkg: github.com/onflow/cadence/runtime
cpu: Apple M4 Pro
                                                                │    vm.txt    │             vm-opt.txt              │
                                                                │    sec/op    │   sec/op     vs base                │
RuntimeTransactions/EmptyLoop-14                                   48.82µ ± 1%   46.59µ ± 1%   -4.58% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  58.83µ ± 2%   56.74µ ± 1%   -3.55% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            70.40µ ± 1%   46.78µ ± 1%  -33.56% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                      95.40µ ± 1%   71.68µ ± 1%  -24.87% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     57.44µ ± 1%   43.37µ ± 2%  -24.51% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            57.42µ ± 0%   43.46µ ± 1%  -24.32% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                189.99µ ± 0%   56.64µ ± 0%  -70.19% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14            189.72µ ± 0%   56.63µ ± 0%  -70.15% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           250.8µ ± 1%   115.2µ ± 1%  -54.06% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    208.6µ ± 0%   176.7µ ± 1%  -15.27% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                       1274.2µ ± 0%   988.8µ ± 1%  -22.40% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            74.52µ ± 3%   52.16µ ± 1%  -30.01% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                444.9µ ± 1%   389.1µ ± 1%  -12.53% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   220.8µ ± 0%   216.7µ ± 0%   -1.86% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      80.85µ ± 2%   82.91µ ± 1%   +2.54% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    70.67µ ± 1%   67.66µ ± 1%   -4.26% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                           93.20µ ± 1%   87.82µ ± 1%   -5.78% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                220.0µ ± 1%   203.1µ ± 1%   -7.70% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  200.6µ ± 1%   191.5µ ± 1%   -4.53% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  235.8µ ± 2%   219.6µ ± 0%   -6.86% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      418.9µ ± 1%   408.1µ ± 0%   -2.58% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               257.4µ ± 0%   241.4µ ± 2%   -6.21% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            762.1µ ± 1%   739.3µ ± 2%   -3.00% (p=0.001 n=10)
RuntimeTransactions/CopyDictString-14                              286.0µ ± 1%   280.3µ ± 2%   -1.98% (p=0.005 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              267.0µ ± 1%   255.0µ ± 1%   -4.49% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          379.6µ ± 0%   372.9µ ± 1%   -1.77% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             1.839m ± 1%   1.662m ± 1%   -9.61% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    1.732m ± 1%   1.457m ± 1%  -15.88% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                               598.0µ ± 0%   270.4µ ± 0%  -54.79% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                                692.9µ ± 1%   232.4µ ± 1%  -66.47% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        384.8µ ± 0%   317.4µ ± 1%  -17.50% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                               90.86µ ± 1%   87.57µ ± 1%   -3.63% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             166.1µ ± 1%   166.9µ ± 2%        ~ (p=0.218 n=10)
RuntimeTransactions/GetBlockAt-14                                  299.4µ ± 0%   299.1µ ± 1%        ~ (p=0.579 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   178.1µ ± 1%   146.7µ ± 1%  -17.65% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 122.5µ ± 1%   103.5µ ± 1%  -15.50% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  122.5µ ± 1%   102.7µ ± 1%  -16.13% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                 90.87µ ± 0%   72.82µ ± 1%  -19.87% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                  91.24µ ± 1%   73.07µ ± 1%  -19.92% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                    96.22µ ± 1%   77.52µ ± 1%  -19.44% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             3.313m ± 1%   2.576m ± 1%  -22.25% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                519.76µ ± 1%   90.70µ ± 2%  -82.55% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.377m ± 1%   1.372m ± 0%        ~ (p=0.143 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.380m ± 1%   1.368m ± 0%   -0.88% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        1.894m ± 2%   1.892m ± 1%        ~ (p=0.481 n=10)
RuntimeTransactions/ArrayInsert-14                                 117.3µ ± 1%   106.9µ ± 0%   -8.84% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           149.4µ ± 1%   136.8µ ± 1%   -8.44% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        182.9µ ± 1%   171.0µ ± 1%   -6.53% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              175.3µ ± 1%   159.7µ ± 0%   -8.89% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     172.2µ ± 1%   167.3µ ± 2%   -2.83% (p=0.003 n=10)
RuntimeTransactions/ArrayAppend-14                                104.07µ ± 1%   91.61µ ± 2%  -11.97% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  154.5µ ± 0%   136.0µ ± 1%  -11.95% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            224.2µ ± 1%   193.8µ ± 0%  -13.55% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         310.2µ ± 1%   272.4µ ± 1%  -12.17% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                297.5µ ± 0%   276.0µ ± 0%   -7.21% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            3.193m ± 1%   2.714m ± 0%  -14.99% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  1.628m ± 1%   1.591m ± 0%   -2.25% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   1.634m ± 0%   1.652m ± 1%   +1.08% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  138.9µ ± 0%   137.0µ ± 1%   -1.35% (p=0.001 n=10)
geomean                                                            257.4µ        207.6µ       -19.37%

                                                                │    vm.txt     │              vm-opt.txt              │
                                                                │     B/op      │     B/op      vs base                │
RuntimeTransactions/EmptyLoop-14                                   40.17Ki ± 0%   40.57Ki ± 0%   +1.01% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                  43.71Ki ± 0%   44.12Ki ± 0%   +0.92% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            78.39Ki ± 0%   42.50Ki ± 0%  -45.79% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                     129.13Ki ± 0%   93.30Ki ± 0%  -27.75% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     61.82Ki ± 0%   40.03Ki ± 0%  -35.24% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            61.84Ki ± 0%   40.06Ki ± 0%  -35.23% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                331.74Ki ± 0%   52.52Ki ± 0%  -84.17% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14            331.66Ki ± 0%   52.54Ki ± 0%  -84.16% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           384.5Ki ± 0%   146.4Ki ± 0%  -61.94% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    272.2Ki ± 0%   236.4Ki ± 0%  -13.14% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                       1230.5Ki ± 0%   881.7Ki ± 0%  -28.35% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            87.91Ki ± 0%   56.40Ki ± 0%  -35.84% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                528.5Ki ± 0%   437.1Ki ± 0%  -17.31% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   533.1Ki ± 0%   533.4Ki ± 0%   +0.06% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      57.06Ki ± 0%   57.47Ki ± 0%   +0.72% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    64.64Ki ± 0%   65.06Ki ± 0%   +0.65% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                           81.97Ki ± 0%   82.38Ki ± 0%   +0.50% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                115.3Ki ± 0%   101.9Ki ± 0%  -11.56% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  92.58Ki ± 0%   83.09Ki ± 0%  -10.25% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  131.5Ki ± 0%   116.2Ki ± 0%  -11.66% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      470.7Ki ± 0%   456.4Ki ± 0%   -3.02% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               285.6Ki ± 0%   271.9Ki ± 0%   -4.79% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            225.0Ki ± 1%   209.8Ki ± 0%   -6.79% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              138.6Ki ± 0%   129.0Ki ± 0%   -6.87% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              176.7Ki ± 0%   161.7Ki ± 0%   -8.48% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          526.2Ki ± 0%   516.5Ki ± 0%   -1.84% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             2.238Mi ± 0%   1.959Mi ± 0%  -12.48% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    2.176Mi ± 0%   1.734Mi ± 0%  -20.30% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                               977.9Ki ± 0%   411.0Ki ± 0%  -57.98% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                               1315.9Ki ± 0%   387.0Ki ± 0%  -70.59% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        434.2Ki ± 0%   413.5Ki ± 0%   -4.78% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                               61.72Ki ± 0%   62.14Ki ± 0%   +0.69% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             308.7Ki ± 0%   309.0Ki ± 0%   +0.10% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  582.4Ki ± 0%   582.7Ki ± 0%   +0.05% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   199.1Ki ± 0%   183.4Ki ± 0%   -7.89% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 109.7Ki ± 0%   103.8Ki ± 0%   -5.38% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  108.1Ki ± 0%   103.8Ki ± 0%   -4.02% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                 67.40Ki ± 0%   61.52Ki ± 0%   -8.72% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                  65.83Ki ± 0%   61.52Ki ± 0%   -6.56% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                    71.27Ki ± 0%   66.96Ki ± 0%   -6.04% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             5.083Mi ± 0%   3.842Mi ± 0%  -24.41% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                992.29Ki ± 0%   68.49Ki ± 0%  -93.10% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          1.756Mi ± 0%   1.750Mi ± 0%   -0.35% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     1.756Mi ± 0%   1.751Mi ± 0%   -0.32% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        2.864Mi ± 0%   2.858Mi ± 0%   -0.20% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 95.53Ki ± 0%   93.89Ki ± 0%   -1.72% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           112.1Ki ± 0%   108.1Ki ± 0%   -3.62% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        138.3Ki ± 0%   134.3Ki ± 0%   -2.94% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              140.9Ki ± 0%   139.2Ki ± 0%   -1.24% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     131.1Ki ± 0%   129.3Ki ± 0%   -1.33% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                 92.86Ki ± 0%   91.15Ki ± 0%   -1.84% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  132.4Ki ± 0%   128.3Ki ± 0%   -3.10% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            184.3Ki ± 0%   176.0Ki ± 0%   -4.48% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         252.0Ki ± 0%   241.2Ki ± 0%   -4.27% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                225.9Ki ± 0%   216.7Ki ± 0%   -4.06% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            2.627Mi ± 0%   2.615Mi ± 0%   -0.49% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  2.000Mi ± 0%   1.987Mi ± 0%   -0.66% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   2.413Mi ± 0%   2.409Mi ± 0%   -0.16% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  156.9Ki ± 0%   156.9Ki ± 0%        ~ (p=0.481 n=10)
geomean                                                            260.5Ki        204.2Ki       -21.61%

                                                                │    vm.txt    │             vm-opt.txt              │
                                                                │  allocs/op   │  allocs/op   vs base                │
RuntimeTransactions/EmptyLoop-14                                    695.0 ± 0%    709.0 ± 0%   +2.01% (p=0.000 n=10)
RuntimeTransactions/AssertTrue-14                                   721.0 ± 0%    735.0 ± 0%   +1.94% (p=0.000 n=10)
RuntimeTransactions/GetSignerAddress-14                            1507.0 ± 0%    694.0 ± 0%  -53.95% (p=0.000 n=10)
RuntimeTransactions/GetSignerPublicAccount-14                      2.384k ± 0%   1.571k ± 0%  -34.10% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountBalance-14                     1127.0 ± 0%    634.0 ± 0%  -43.74% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountAvailableBalance-14            1127.0 ± 0%    634.0 ± 0%  -43.74% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageUsed-14                 3825.0 ± 0%    861.0 ± 0%  -77.49% (p=0.000 n=10)
RuntimeTransactions/GetSignerAccountStorageCapacity-14             3825.0 ± 0%    861.0 ± 0%  -77.49% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFlowTokenVault-14           6.618k ± 0%   2.813k ± 0%  -57.49% (p=0.000 n=10)
RuntimeTransactions/BorrowSignerAccountFungibleTokenReceiver-14    5.808k ± 0%   4.888k ± 0%  -15.84% (p=0.000 n=10)
RuntimeTransactions/TransferTokensToSelf-14                        29.74k ± 0%   22.76k ± 0%  -23.46% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccount-14                            1718.0 ± 0%    934.0 ± 0%  -45.63% (p=0.000 n=10)
RuntimeTransactions/CreateNewAccountWithContract-14                7.886k ± 0%   6.209k ± 0%  -21.27% (p=0.000 n=10)
RuntimeTransactions/DecodeHex-14                                   2.340k ± 0%   2.354k ± 0%   +0.60% (p=0.000 n=10)
RuntimeTransactions/RevertibleRandomNumber-14                      1.266k ± 0%   1.280k ± 0%   +1.11% (p=0.000 n=10)
RuntimeTransactions/NumberToStringConversion-14                    1.412k ± 0%   1.426k ± 0%   +0.99% (p=0.000 n=10)
RuntimeTransactions/ConcatenateString-14                           1.837k ± 0%   1.851k ± 0%   +0.76% (p=0.000 n=10)
RuntimeTransactions/BorrowString-14                                2.457k ± 0%   1.977k ± 0%  -19.54% (p=0.000 n=10)
RuntimeTransactions/CopyString-14                                  1.614k ± 0%   1.366k ± 0%  -15.37% (p=0.000 n=10)
RuntimeTransactions/CopyStringAndSaveDuplicate-14                  2.055k ± 0%   1.725k ± 0%  -16.06% (p=0.000 n=10)
RuntimeTransactions/StoreAndLoadDictString-14                      5.374k ± 0%   5.131k ± 0%   -4.52% (p=0.000 n=10)
RuntimeTransactions/StoreLoadAndDestroyDictString-14               4.033k ± 0%   3.560k ± 0%  -11.73% (p=0.000 n=10)
RuntimeTransactions/BorrowDictString-14                            4.740k ± 0%   4.245k ± 0%  -10.44% (p=0.000 n=10)
RuntimeTransactions/CopyDictString-14                              2.157k ± 0%   1.984k ± 0%   -8.02% (p=0.000 n=10)
RuntimeTransactions/CopyDictStringAndSaveDuplicate-14              2.510k ± 0%   2.252k ± 0%  -10.28% (p=0.000 n=10)
RuntimeTransactions/LoadDictAndDestroy-14                          11.59k ± 0%   11.42k ± 0%   -1.44% (p=0.000 n=10)
RuntimeTransactions/AddKeyToAccount-14                             25.17k ± 0%   20.98k ± 0%  -16.63% (p=0.000 n=10)
RuntimeTransactions/AddAndRevokeKeyToAccount-14                    26.12k ± 0%   19.72k ± 0%  -24.52% (p=0.000 n=10)
RuntimeTransactions/GetAccountKey-14                              15.133k ± 0%   7.049k ± 0%  -53.42% (p=0.000 n=10)
RuntimeTransactions/GetContracts-14                               15.002k ± 0%   4.916k ± 0%  -67.23% (p=0.000 n=10)
RuntimeTransactions/Hash-14                                        9.462k ± 0%   7.670k ± 0%  -18.94% (p=0.000 n=10)
RuntimeTransactions/StringToLower-14                               1.052k ± 0%   1.066k ± 0%   +1.33% (p=0.000 n=10)
RuntimeTransactions/GetCurrentBlock-14                             2.925k ± 0%   2.939k ± 0%   +0.48% (p=0.000 n=10)
RuntimeTransactions/GetBlockAt-14                                  5.282k ± 0%   5.296k ± 0%   +0.27% (p=0.000 n=10)
RuntimeTransactions/DestroyResourceDictionary-14                   4.874k ± 0%   3.990k ± 0%  -18.14% (p=0.000 n=10)
RuntimeTransactions/ParseUFix64-14                                 3.366k ± 0%   2.979k ± 0%  -11.50% (p=0.000 n=10)
RuntimeTransactions/ParseFix64-14                                  3.367k ± 0%   2.980k ± 0%  -11.49% (p=0.000 n=10)
RuntimeTransactions/ParseUInt64-14                                 1.766k ± 0%   1.379k ± 0%  -21.91% (p=0.000 n=10)
RuntimeTransactions/ParseInt64-14                                  1.766k ± 0%   1.379k ± 0%  -21.91% (p=0.000 n=10)
RuntimeTransactions/ParseInt-14                                    1.866k ± 0%   1.479k ± 0%  -20.74% (p=0.000 n=10)
RuntimeTransactions/IssueStorageCap-14                             71.95k ± 0%   57.00k ± 0%  -20.78% (p=0.000 n=10)
RuntimeTransactions/GetKeyCount-14                                10.886k ± 0%   1.202k ± 0%  -88.96% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAP256-14                          17.22k ± 0%   16.63k ± 0%   -3.39% (p=0.000 n=10)
RuntimeTransactions/CreateKeyECDSAsecp256k1-14                     17.22k ± 0%   16.63k ± 0%   -3.39% (p=0.000 n=10)
RuntimeTransactions/CreateKeyBLSBLS12381-14                        17.72k ± 0%   17.14k ± 0%   -3.30% (p=0.000 n=10)
RuntimeTransactions/ArrayInsert-14                                 1.657k ± 0%   1.467k ± 0%  -11.47% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertRemove-14                           2.198k ± 0%   1.808k ± 0%  -17.74% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertSetRemove-14                        2.713k ± 0%   2.323k ± 0%  -14.38% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertMap-14                              2.775k ± 0%   2.577k ± 0%   -7.14% (p=0.000 n=10)
RuntimeTransactions/ArrayInsertFilterRemove-14                     2.620k ± 0%   2.422k ± 0%   -7.56% (p=0.000 n=10)
RuntimeTransactions/ArrayAppend-14                                 1.635k ± 0%   1.445k ± 0%  -11.62% (p=0.000 n=10)
RuntimeTransactions/DictInsert-14                                  2.780k ± 0%   2.487k ± 0%  -10.54% (p=0.000 n=10)
RuntimeTransactions/DictInsertRemove-14                            4.517k ± 0%   3.924k ± 0%  -13.13% (p=0.000 n=10)
RuntimeTransactions/DictInsertSetRemove-14                         6.742k ± 0%   5.948k ± 0%  -11.78% (p=0.000 n=10)
RuntimeTransactions/DictIterCopy-14                                5.248k ± 0%   4.538k ± 0%  -13.53% (p=0.000 n=10)
RuntimeTransactions/ArrayCreateBatch-14                            88.66k ± 0%   87.47k ± 0%   -1.34% (p=0.000 n=10)
RuntimeTransactions/VerifySignatureTransaction-14                  26.26k ± 0%   25.55k ± 0%   -2.67% (p=0.000 n=10)
RuntimeTransactions/AggregateBLSAggregateKeys-14                   17.51k ± 0%   17.17k ± 0%   -1.91% (p=0.000 n=10)
RuntimeTransactions/BLSVerifyProofOfPossession-14                  1.514k ± 0%   1.470k ± 0%   -2.91% (p=0.000 n=10)
geomean                                                            4.289k        3.268k       -23.81%

______
  • Targeted PR against master branch
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work
  • Code follows the standards mentioned here
  • Updated relevant documentation
  • Re-reviewed Files changed in the Github PR explorer
  • Added appropriate labels

@RZhang05 RZhang05 self-assigned this Nov 24, 2025
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 24, 2025

Benchstat comparison

  • Base branch: onflow:master
  • Base commit: cf3b4fe
Results

old.txtnew.txt
time/opdelta
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ContractFunctionInvocation-4396µs ± 0%389µs ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
Emit-44.32ms ± 0%4.15ms ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ExportType/composite_type-4265ns ± 0%270ns ± 0%~(p=1.000 n=1+1)
ExportType/simple_type-478.0ns ± 0%77.9ns ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ImperativeFib-420.9µs ± 0%21.6µs ± 0%~(p=1.000 n=1+1)
InterpretRecursionFib-42.06ms ± 0%2.10ms ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_interpreter-4847ns ± 0%880ns ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_sub-interpreter-4315ns ± 0%326ns ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
RuntimeFungibleTokenTransferInterpreter-4576µs ± 0%597µs ± 0%~(p=1.000 n=1+1)
RuntimeFungibleTokenTransferVM-4632µs ± 0%691µs ± 0%~(p=1.000 n=1+1)
RuntimeResourceDictionaryValues-42.66ms ± 0%2.64ms ± 0%~(p=1.000 n=1+1)
RuntimeResourceTracking-411.7ms ± 0%12.2ms ± 0%~(p=1.000 n=1+1)
RuntimeScriptNoop-414.5µs ± 0%15.7µs ± 0%~(p=1.000 n=1+1)
RuntimeVMInvokeContractImperativeFib-428.2µs ± 0%28.5µs ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ValueIsSubtypeOfSemaType-460.6ns ± 0%59.8ns ± 0%~(p=1.000 n=1+1)
 
alloc/opdelta
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ContractFunctionInvocation-4152kB ± 0%152kB ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
Emit-41.46MB ± 0%1.46MB ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ExportType/composite_type-4120B ± 0%120B ± 0%~(all equal)
ExportType/simple_type-40.00B 0.00B ~(all equal)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ImperativeFib-48.30kB ± 0%8.30kB ± 0%~(all equal)
InterpretRecursionFib-41.19MB ± 0%1.19MB ± 0%~(p=1.000 n=1+1)
NewInterpreter/new_interpreter-4976B ± 0%976B ± 0%~(all equal)
NewInterpreter/new_sub-interpreter-4232B ± 0%232B ± 0%~(all equal)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
RuntimeFungibleTokenTransferInterpreter-4157kB ± 0%158kB ± 0%~(p=1.000 n=1+1)
RuntimeFungibleTokenTransferVM-4173kB ± 0%172kB ± 0%~(p=1.000 n=1+1)
RuntimeResourceDictionaryValues-41.76MB ± 0%1.77MB ± 0%~(p=1.000 n=1+1)
RuntimeResourceTracking-49.26MB ± 0%9.27MB ± 0%~(p=1.000 n=1+1)
RuntimeScriptNoop-47.99kB ± 0%7.99kB ± 0%~(p=1.000 n=1+1)
RuntimeVMInvokeContractImperativeFib-49.80kB ± 0%9.81kB ± 0%~(p=1.000 n=1+1)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ValueIsSubtypeOfSemaType-432.0B ± 0%32.0B ± 0%~(all equal)
 
allocs/opdelta
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ContractFunctionInvocation-42.46k ± 0%2.46k ± 0%~(all equal)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
Emit-439.0k ± 0%39.0k ± 0%~(all equal)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
ExportType/composite_type-43.00 ± 0%3.00 ± 0%~(all equal)
ExportType/simple_type-40.00 0.00 ~(all equal)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ImperativeFib-4176 ± 0%176 ± 0%~(all equal)
InterpretRecursionFib-417.7k ± 0%17.7k ± 0%~(all equal)
NewInterpreter/new_interpreter-415.0 ± 0%15.0 ± 0%~(all equal)
NewInterpreter/new_sub-interpreter-44.00 ± 0%4.00 ± 0%~(all equal)
pkg:github.com/onflow/cadence/runtime goos:linux goarch:amd64
RuntimeFungibleTokenTransferInterpreter-42.98k ± 0%2.98k ± 0%~(all equal)
RuntimeFungibleTokenTransferVM-43.02k ± 0%3.02k ± 0%~(all equal)
RuntimeResourceDictionaryValues-436.7k ± 0%36.7k ± 0%~(p=1.000 n=1+1)
RuntimeResourceTracking-4159k ± 0%159k ± 0%~(all equal)
RuntimeScriptNoop-4113 ± 0%113 ± 0%~(all equal)
RuntimeVMInvokeContractImperativeFib-4197 ± 0%197 ± 0%~(all equal)
pkg:github.com/onflow/cadence/interpreter goos:linux goarch:amd64
ValueIsSubtypeOfSemaType-41.00 ± 0%1.00 ± 0%~(all equal)
 

@RZhang05 RZhang05 force-pushed the raymond/add-benchmarks branch from d45498d to 7df0cfa Compare November 25, 2025 18:43
@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 26, 2025

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 3 package(s) with unknown licenses.
See the Details below.

License Issues

go.mod

PackageVersionLicenseIssue Type
golang.org/x/exp0.0.0-20240119083558-1b970713d09aNullUnknown License
gopkg.in/check.v11.0.0-20201130134442-10cb98267c6cNullUnknown License
github.com/pmezard/go-difflib1.0.1-0.20181226105442-5d4384ee4fb2NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
gomod/github.com/btcsuite/btcd/btcec/v2 2.3.4 🟢 6.2
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 109 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Security-Policy🟢 4security policy file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Packaging⚠️ -1packaging workflow not detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Fuzzing🟢 10project is fuzzed
Signed-Releases🟢 83 out of the last 3 releases have a total of 3 signed artifacts.
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 4dependency not pinned by hash detected -- score normalized to 4
Vulnerabilities⚠️ 014 existing vulnerabilities detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
gomod/github.com/davecgh/go-spew 1.1.2-0.20180830191138-d8f796af33cc 🟢 3.8
Details
CheckScoreReason
Code-Review🟢 6Found 20/29 approved changesets -- score normalized to 6
Packaging⚠️ -1packaging workflow not detected
Token-Permissions⚠️ -1No tokens found
Dangerous-Workflow⚠️ -1no workflows found
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Pinned-Dependencies⚠️ -1no dependencies found
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Vulnerabilities🟢 100 existing vulnerabilities detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
gomod/github.com/decred/dcrd/dcrec/secp256k1/v4 4.3.0 🟢 7.1
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Maintained🟢 1030 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Binary-Artifacts🟢 10no binaries found in the repo
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Pinned-Dependencies🟢 10all dependencies are pinned
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Vulnerabilities⚠️ 19 existing vulnerabilities detected
gomod/github.com/klauspost/cpuid/v2 2.2.9 🟢 3.5
Details
CheckScoreReason
Code-Review🟢 6Found 19/30 approved changesets -- score normalized to 6
Binary-Artifacts🟢 10no binaries found in the repo
Maintained⚠️ 01 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Packaging🟢 10packaging workflow detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Vulnerabilities⚠️ 010 existing vulnerabilities detected
Signed-Releases⚠️ 0Project has not signed or included provenance with any releases.
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
gomod/github.com/onflow/cadence-standard-transactions 0.4.0 UnknownUnknown
gomod/github.com/pmezard/go-difflib 1.0.1-0.20181226105442-5d4384ee4fb2 🟢 3.1
Details
CheckScoreReason
Dangerous-Workflow⚠️ -1no workflows found
Packaging⚠️ -1packaging workflow not detected
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies⚠️ -1no dependencies found
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Code-Review⚠️ 1Found 4/23 approved changesets -- score normalized to 1
Token-Permissions⚠️ -1No tokens found
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Vulnerabilities🟢 100 existing vulnerabilities detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
gomod/github.com/rogpeppe/go-internal 1.13.1 🟢 4.9
Details
CheckScoreReason
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Code-Review🟢 9Found 24/25 approved changesets -- score normalized to 9
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing🟢 10project is fuzzed
Security-Policy⚠️ 0security policy file not detected
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Vulnerabilities🟢 100 existing vulnerabilities detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
gomod/golang.org/x/exp 0.0.0-20240119083558-1b970713d09a UnknownUnknown
gomod/gopkg.in/check.v1 1.0.0-20201130134442-10cb98267c6c UnknownUnknown

Scanned Files

  • go.mod

@RZhang05 RZhang05 marked this pull request as ready for review November 26, 2025 21:10
Copy link
Copy Markdown
Member

@SupunS SupunS left a comment

Choose a reason for hiding this comment

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

Nice work adding these unified benchmarks!

Comment on lines +28 to +29
flowsdk "github.com/onflow/flow-go-sdk"
"github.com/onflow/flow-go-sdk/crypto"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there a way to avoid the circular dependency here (i.e: flow-go-sdk imports cadence) to avoid any complications that we might run into when releasing? Could we maybe have these test as a sub-module, or maybe in a separate repo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah I thought I removed all circular dependencies, maybe for simplicity I can port the signUserMessage function to this test file instead of creating a separate module/repo.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

yeah, that's a good idea, if thats easier 👍

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I realized since the verification for the crypto related functionality is currently a NO-OP in the runtime interface, we can just use placeholder values instead of generating valid ones. 5747fa7

Comment thread runtime/bench_standard_transactions_test.go Outdated

b.StopTimer()
require.NoError(b, err)
b.StartTimer()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why does it need to start the timer b.StartTimer() here and stop it at the beginning of the loop? Can't we simply remove both?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The stopTimer at the beginning of the loop is to account for setup time so that one should stay. This pair of stop/startTimer is just for the error check but could probably be removed. b.Loop() requires the timer to be running at the end which is why there is this startTimer here.

Comment thread runtime/bench_standard_transactions_test.go Outdated
RZhang05 and others added 2 commits December 3, 2025 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-use flow execution effort transactions

2 participants