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

New events #1000

Merged
merged 31 commits into from Jun 7, 2022
Merged

New events #1000

merged 31 commits into from Jun 7, 2022

Conversation

breathx
Copy link
Member

@breathx breathx commented Jun 1, 2022

Resolves #793.

TODO:

  • update gear js runtime upgrade test

Release notes: The new design of depositing events and data they contain was present. The new implementation is much more informative and compact, event duplication and some other problems have been solved. The new architecture allows us with minimal resources required to cover all needs of JS or another monitoring mechanism to have information of what's happening on-chain, so we're ready to integrate with any scanners, etc. (This approach contains some field data which isn't used atm, but will be applied sometime soon)

@breathx breathx mentioned this pull request Jun 2, 2022
@breathx breathx added A0-pleasereview PR is ready to be reviewed by the team D2-node Gear Node B1-releasenotes The feature deserves to be added to the Release Notes C2-refactoring Refactoring proposal labels Jun 6, 2022
@breathx breathx marked this pull request as ready for review June 6, 2022 11:18
common/src/event.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
@github-actions
Copy link
Contributor

github-actions bot commented Jun 6, 2022

dbea964
Pallet tests (values are in nanosegconds)

Total execution time

name current median average lower/upper quartile min max
Total time 88 486 000 000; +3624.16% ❗ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 25 000 000; +13.64% ✔️ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 86 000 000; +168.75% ‼️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 32 000 000; +0.00% ✔️ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 28 000 000; +3.70% ✔️ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 25 000 000; -19.35% ✔️ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 33 000 000; +13.79% ✔️ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 38 000 000; +22.58% ✔️ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 24 000 000; -22.58% ✔️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 43 000 000; +38.71% ❗ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 37 000 000; +21.31% ❗ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 99 000 000; +235.59% ‼️ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 12 000 000; -44.19% ✔️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 17 000 000; -19.05% ✔️ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 39 000 000; +1.30% ✔️ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 239 000 000; +32.78% ❗ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 32 000 000; -5.88% ✔️ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 93 000 000; +24.00% ❗ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 96 000 000; +42.22% ❗ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 89 000 000; +56.14% ❗ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 56 000 000; +30.23% ❗ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 29 000 000; -28.40% ✔️ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 46 000 000; -10.68% ✔️ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 48 000 000; +20.00% ✔️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 95 000 000; +5.56% ✔️ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 23 000 000; -41.03% ✔️ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 34 000 000; -21.84% ✔️ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 32 000 000; -28.09% ✔️ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 45 000 000; -2.17% ✔️ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 47 000 000; +9.30% ✔️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 66 000 000; +9.09% ✔️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 45 000 000; -28.57% ✔️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 61 000 000; -8.96% ✔️ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 37 000 000; -30.84% ✔️ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 96 000 000; -11.93% ✔️ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 86 000 000; +34.38% ❗ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 29 000 000; -34.09% ✔️ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 78 000 000; -26.07% ✔️ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 44 000 000; -24.14% ✔️ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 65 000 000; +2.36% ✔️ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 32 000 000; -40.19% ✔️ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 43 000 000; -21.82% ✔️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 124 000 000; +121.43% ‼️ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 93 000 000; +75.47% ❗ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 69 000 000; +43.75% ❗ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 82 000 000; +60.78% ❗ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 64 000 000; +30.61% ❗ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 121 000 000; +142.00% ‼️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 140 000 000; +177.23% ‼️ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 230 000 000; +81.82% ❗ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 204 000 000; +114.74% ‼️ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 483 000 000; +347.22% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 743 000 000; +543.29% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 367 000 000; +195.97% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 229 000 000; +224.82% ‼️ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 222 000 000; +140.00% ‼️ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 324 000 000; +449.15% ‼️ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 58 000 000; -22.67% ✔️ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 49 000 000; +1.03% ✔️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 727 000 000; +235.80% ‼️ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 668 000 000; +554.90% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 176 000 000; +168.70% ‼️ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 188 000 000; +210.74% ‼️ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 534 000 000; +154.29% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 28 000 000; -25.33% ✔️ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 113 000 000; +80.80% ❗ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 105 000 000; +228.12% ❗ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 109 000 000; +107.62% ❗ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 177 000 000; +218.92% ‼️ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 313 000 000; +519.80% ‼️ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 146 000 000; +180.77% ‼️ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 211 000 000; +448.05% ‼️ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 269 000 000; +398.15% ‼️ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 79 000 000; +49.06% ❗ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 225 000 000; +316.67% ‼️ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 224 000 000; +330.77% ‼️ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 277 000 000; +495.70% ‼️ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 25 000 000; -28.57% ✔️ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 173 000 000; +220.37% ‼️ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 60 000 000; -15.49% ✔️ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 51 000 000; +6.25% ✔️ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 87 000 000; +40.32% ❗ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 121 000 000; +38.29% ❗ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 102 000 000; +22.16% ✔️ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 120 000 000; +64.38% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 61 000 000; -23.75% ✔️ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 31 000 000; -13.89% ✔️ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 85 000 000; +60.38% ❗ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 196 000 000; +246.90% ‼️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 185 000 000; +249.06% ‼️ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 38 000 000; -26.92% ✔️ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 172 000 000; +237.25% ‼️ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 145 000 000; +161.26% ‼️ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 174 000 000; +231.43% ‼️ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 115 000 000; +127.72% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 168 000 000; +220.00% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 307 307 373 746; +91.84% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 270 876 948; +520.04% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 417 200 231; +573.54% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 811 451 421; +603.07% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 1 885 742 275; +687.40% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 1 251 763 869; +836.32% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 28 012 443 681; +65.76% ‼️ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 665 160 148; +793.46% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 419 222 814; +579.28% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 939 839 165; +622.06% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 20 856 394 729; +124.22% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 21 153 079 552; +126.94% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 20 398 026 527; +119.77% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 16 413 724 428; +79.21% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 14 023 727 410; +56.63% ‼️ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 17 469 889 005; +89.50% ‼️ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 21 011 675 743; +122.30% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 17 991 422 450; +95.79% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 17 172 946 785; +87.19% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 6 357 450 241; +30.15% ‼️ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 7 318 611 778; +44.07% ‼️ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 5 799 653 791; +17.92% ‼️ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 7 199 453 092; +40.69% ‼️ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 658 028 985; +609.29% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 457 681 498; +659.83% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 179 014 494; +601.08% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 1 071 026 348; +340.87% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 1 556 320 441; +534.37% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 422 494 326; +489.87% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 488 525 166; +502.45% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 210 640 015; +202.20% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 26 381 203 429; +65.88% ‼️ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 546 032 394; +744.26% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 341 705 949; +935.75% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 588 502 232; +1227.14% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 214 771 339; +262.82% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 619 920 647; +1055.89% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 634 635 437; +1275.15% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 427 797 595; +534.45% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 647 743 979; +702.30% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 230 968 302; +1001.72% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 706 176 337; +1056.19% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 347 133 604; +412.04% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 682 108 062; +633.21% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 13 370 278 462; +49.84% ‼️ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 17 812 607 218; +56.75% ‼️ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531
9efe532
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 81 495 000 000; +3329.92% ❗ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 29 000 000; +31.82% ❗ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 21 000 000; -34.38% ✔️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 42 000 000; +31.25% ❗ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 37 000 000; +37.04% ✔️ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 38 000 000; +22.58% ❗ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 24 000 000; -17.24% ✔️ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 78 000 000; +151.61% ‼️ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 33 000 000; +6.45% ✔️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 23 000 000; -25.81% ✔️ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 33 000 000; +8.20% ✔️ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 40 000 000; +35.59% ❗ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 16 000 000; -25.58% ✔️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 27 000 000; +28.57% ❗ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 39 000 000; +1.30% ✔️ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 227 000 000; +26.11% ❗ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 24 000 000; -29.41% ✔️ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 78 000 000; +4.00% ✔️ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 60 000 000; -11.11% ✔️ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 73 000 000; +28.07% ❗ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 35 000 000; -18.60% ✔️ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 29 000 000; -28.40% ✔️ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 109 000 000; +111.65% ❗ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 29 000 000; -27.50% ✔️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 126 000 000; +40.00% ❗ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 63 000 000; +61.54% ❗ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 45 000 000; +3.45% ✔️ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 24 000 000; -46.07% ✔️ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 77 000 000; +67.39% ❗ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 24 000 000; -44.19% ✔️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 41 000 000; -32.23% ✔️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 57 000 000; -9.52% ✔️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 139 000 000; +107.46% ❗ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 48 000 000; -10.28% ✔️ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 253 000 000; +132.11% ‼️ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 92 000 000; +43.75% ❗ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 32 000 000; -27.27% ✔️ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 103 000 000; -2.37% ✔️ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 116 000 000; +100.00% ❗ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 88 000 000; +38.58% ❗ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 79 000 000; +47.66% ❗ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 59 000 000; +7.27% ✔️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 80 000 000; +42.86% ❗ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 168 000 000; +216.98% ‼️ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 100 000 000; +108.33% ❗ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 111 000 000; +117.65% ❗ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 177 000 000; +261.22% ‼️ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 219 000 000; +338.00% ‼️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 232 000 000; +359.41% ‼️ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 663 000 000; +424.11% ‼️ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 228 000 000; +140.00% ‼️ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 363 000 000; +236.11% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 635 000 000; +449.78% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 386 000 000; +211.29% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 124 000 000; +75.89% ❗ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 102 000 000; +10.27% ✔️ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 56 000 000; -5.08% ✔️ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 130 000 000; +73.33% ❗ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 140 000 000; +188.66% ‼️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 273 000 000; +26.10% ❗ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 333 000 000; +226.47% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 250 000 000; +281.68% ‼️ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 89 000 000; +47.11% ❗ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 724 000 000; +244.76% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 117 000 000; +212.00% ‼️ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 261 000 000; +317.60% ‼️ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 60 000 000; +87.50% ❗ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 74 000 000; +40.95% ❗ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 72 000 000; +29.73% ❗ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 105 000 000; +107.92% ❗ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 76 000 000; +46.15% ❗ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 128 000 000; +232.47% ‼️ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 76 000 000; +40.74% ❗ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 72 000 000; +35.85% ✔️ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 83 000 000; +53.70% ❗ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 88 000 000; +69.23% ❗ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 122 000 000; +162.37% ❗ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 131 000 000; +274.29% ‼️ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 123 000 000; +127.78% ❗ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 73 000 000; +2.82% ✔️ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 68 000 000; +41.67% ❗ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 48 000 000; -22.58% ✔️ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 204 000 000; +133.14% ‼️ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 95 000 000; +13.77% ✔️ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 189 000 000; +158.90% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 91 000 000; +13.75% ✔️ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 71 000 000; +97.22% ❗ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 92 000 000; +73.58% ❗ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 68 000 000; +20.35% ✔️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 60 000 000; +13.21% ✔️ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 98 000 000; +88.46% ❗ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 60 000 000; +17.65% ✔️ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 94 000 000; +69.37% ❗ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 105 000 000; +100.00% ❗ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 100 000 000; +98.02% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 139 000 000; +164.76% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 220 618 998 150; +37.72% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 305 820 223; +600.02% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 554 367 444; +794.99% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 672 876 222; +483.00% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 1 576 231 253; +558.16% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 1 103 747 006; +725.60% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 17 849 270 532; +5.62% ‼️ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 350 206 430; +370.40% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 307 966 416; +399.01% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 659 699 807; +406.84% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 16 094 521 059; +73.03% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 16 053 883 218; +72.23% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 15 884 697 744; +71.14% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 13 555 415 097; +48.01% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 9 599 026 393; +7.21% ‼️ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 9 588 522 417; +4.01% ❗ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 16 252 636 753; +71.95% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 13 818 896 578; +50.38% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 9 777 125 842; +6.57% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 067 509 678; +3.74% ❗ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 5 417 152 631; +6.64% ❗ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 5 032 037 607; +2.31% ❗ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 5 844 839 472; +14.22% ‼️ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 441 394 689; +375.78% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 258 150 665; +328.58% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 899 461 102; +511.14% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 1 361 279 275; +460.35% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 1 777 516 025; +624.53% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 600 551 849; +563.70% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 274 769 596; +238.85% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 245 268 937; +251.89% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 501 643 550; +3.76% ‼️ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 266 893 559; +312.66% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 199 848 046; +505.76% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 304 725 636; +587.19% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 204 823 061; +246.01% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 377 138 777; +603.20% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 331 074 130; +617.38% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 282 664 021; +319.21% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 417 599 787; +417.24% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 117 456 712; +460.27% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 401 884 612; +557.99% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 087 191 931; +313.24% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 473 508 286; +408.98% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 073 022 126; +1.68% ❗ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 11 752 187 731; +3.42% ‼️ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531
93514c4
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 81 169 000 000; +3316.20% ❗ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 45 000 000; +104.55% ‼️ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 35 000 000; +9.38% ✔️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 28 000 000; -12.50% ✔️ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 17 000 000; -37.04% ✔️ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 32 000 000; +3.23% ✔️ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 18 000 000; -37.93% ✔️ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 33 000 000; +6.45% ✔️ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 35 000 000; +12.90% ✔️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 24 000 000; -22.58% ✔️ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 116 000 000; +280.33% ‼️ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 16 000 000; -45.76% ✔️ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 12 000 000; -44.19% ✔️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 27 000 000; +28.57% ❗ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 45 000 000; +16.88% ✔️ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 210 000 000; +16.67% ❗ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 48 000 000; +41.18% ❗ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 75 000 000; +0.00% ✔️ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 93 000 000; +37.78% ❗ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 75 000 000; +31.58% ❗ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 68 000 000; +58.14% ❗ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 34 000 000; -16.05% ✔️ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 65 000 000; +26.21% ✔️ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 47 000 000; +17.50% ✔️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 142 000 000; +57.78% ❗ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 38 000 000; -2.56% ✔️ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 52 000 000; +19.54% ❗ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 38 000 000; -14.61% ✔️ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 24 000 000; -47.83% ✔️ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 22 000 000; -48.84% ✔️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 41 000 000; -32.23% ✔️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 38 000 000; -39.68% ✔️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 38 000 000; -43.28% ✔️ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 36 000 000; -32.71% ✔️ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 193 000 000; +77.06% ❗ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 63 000 000; -1.56% ✔️ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 49 000 000; +11.36% ✔️ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 286 000 000; +171.09% ‼️ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 43 000 000; -25.86% ✔️ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 42 000 000; -33.86% ✔️ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 163 000 000; +204.67% ‼️ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 275 000 000; +400.00% ‼️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 72 000 000; +28.57% ❗ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 179 000 000; +237.74% ‼️ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 122 000 000; +154.17% ‼️ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 120 000 000; +135.29% ❗ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 157 000 000; +220.41% ❗ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 62 000 000; +24.00% ✔️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 56 000 000; +10.89% ✔️ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 206 000 000; +62.85% ❗ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 185 000 000; +94.74% ❗ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 273 000 000; +152.78% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 1 088 000 000; +841.99% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 468 000 000; +277.42% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 58 000 000; -17.73% ✔️ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 116 000 000; +25.41% ❗ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 159 000 000; +169.49% ‼️ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 216 000 000; +188.00% ‼️ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 244 000 000; +403.09% ‼️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 834 000 000; +285.22% ‼️ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 264 000 000; +158.82% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 272 000 000; +315.27% ‼️ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 89 000 000; +47.11% ❗ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 458 000 000; +118.10% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 47 000 000; +25.33% ✔️ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 209 000 000; +234.40% ‼️ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 64 000 000; +100.00% ❗ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 109 000 000; +107.62% ❗ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 159 000 000; +186.49% ‼️ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 109 000 000; +115.84% ❗ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 147 000 000; +182.69% ‼️ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 268 000 000; +596.10% ‼️ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 96 000 000; +77.78% ❗ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 48 000 000; -9.43% ✔️ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 46 000 000; -14.81% ✔️ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 108 000 000; +107.69% ❗ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 164 000 000; +252.69% ‼️ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 148 000 000; +322.86% ‼️ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 145 000 000; +168.52% ‼️ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 197 000 000; +177.46% ‼️ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 195 000 000; +306.25% ‼️ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 113 000 000; +82.26% ❗ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 258 000 000; +194.86% ‼️ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 158 000 000; +89.22% ❗ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 108 000 000; +47.95% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 129 000 000; +61.25% ❗ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 128 000 000; +255.56% ‼️ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 96 000 000; +81.13% ❗ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 213 000 000; +276.99% ‼️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 130 000 000; +145.28% ❗ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 104 000 000; +100.00% ❗ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 76 000 000; +49.02% ❗ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 39 000 000; -29.73% ✔️ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 39 000 000; -25.71% ✔️ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 75 000 000; +48.51% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 152 000 000; +189.52% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 223 739 410 010; +39.67% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 308 043 575; +605.11% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 437 611 359; +606.50% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 807 215 409; +599.40% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 1 425 508 992; +495.23% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 919 736 590; +587.96% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 17 598 893 421; +4.14% ‼️ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 324 022 408; +335.23% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 378 195 745; +512.81% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 670 851 249; +415.40% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 16 091 020 880; +72.99% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 16 507 925 139; +77.10% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 16 175 944 520; +74.28% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 13 538 405 541; +47.82% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 9 250 867 246; +3.32% ❗ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 9 791 573 855; +6.21% ‼️ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 16 280 747 192; +72.25% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 14 011 826 250; +52.48% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 13 687 299 788; +49.19% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 4 965 519 919; +1.65% ✔️ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 5 373 055 869; +5.77% ❗ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 5 272 871 870; +7.21% ❗ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 5 259 293 548; +2.77% ❗ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 411 960 409; +344.05% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 326 235 461; +441.61% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 756 586 223; +465.17% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 1 234 970 472; +408.36% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 1 443 472 312; +488.37% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 330 543 194; +451.74% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 291 586 949; +259.59% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 335 723 029; +381.66% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 594 238 679; +4.34% ‼️ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 305 953 387; +373.06% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 212 895 018; +545.31% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 389 364 079; +778.06% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 211 190 751; +256.77% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 349 411 765; +551.50% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 349 976 332; +658.34% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 258 748 882; +283.74% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 446 630 270; +453.20% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 130 985 730; +524.80% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 472 672 158; +673.88% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 035 399 699; +293.55% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 497 361 640; +434.62% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 071 107 300; +1.66% ❗ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 11 679 562 245; +2.78% ❗ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531
ee4b033
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 80 990 000 000; +3308.67% ❗ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 70 000 000; +218.18% ‼️ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 36 000 000; +12.50% ✔️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 33 000 000; +3.12% ✔️ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 38 000 000; +40.74% ❗ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 28 000 000; -9.68% ✔️ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 48 000 000; +65.52% ❗ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 102 000 000; +229.03% ‼️ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 31 000 000; +0.00% ✔️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 26 000 000; -16.13% ✔️ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 28 000 000; -8.20% ✔️ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 19 000 000; -35.59% ✔️ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 16 000 000; -25.58% ✔️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 28 000 000; +33.33% ❗ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 36 000 000; -6.49% ✔️ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 226 000 000; +25.56% ❗ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 37 000 000; +8.82% ✔️ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 76 000 000; +1.33% ✔️ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 122 000 000; +80.74% ‼️ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 63 000 000; +10.53% ✔️ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 41 000 000; -4.65% ✔️ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 24 000 000; -40.74% ✔️ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 42 000 000; -18.45% ✔️ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 24 000 000; -40.00% ✔️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 110 000 000; +22.22% ❗ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 29 000 000; -25.64% ✔️ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 47 000 000; +8.05% ✔️ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 40 000 000; -10.11% ✔️ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 53 000 000; +15.22% ✔️ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 52 000 000; +20.93% ✔️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 55 000 000; -9.09% ✔️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 63 000 000; +0.00% ✔️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 306 000 000; +356.72% ‼️ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 57 000 000; +6.54% ✔️ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 109 000 000; +0.00% ✔️ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 263 000 000; +310.94% ‼️ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 43 000 000; -2.27% ✔️ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 148 000 000; +40.28% ❗ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 95 000 000; +63.79% ❗ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 84 000 000; +32.28% ❗ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 140 000 000; +161.68% ‼️ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 217 000 000; +294.55% ‼️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 143 000 000; +155.36% ‼️ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 228 000 000; +330.19% ‼️ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 223 000 000; +364.58% ‼️ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 85 000 000; +66.67% ❗ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 356 000 000; +626.53% ‼️ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 144 000 000; +188.00% ‼️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 102 000 000; +101.98% ❗ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 302 000 000; +138.74% ‼️ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 173 000 000; +82.11% ❗ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 283 000 000; +162.04% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 973 000 000; +742.42% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 299 000 000; +141.13% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 122 000 000; +73.05% ❗ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 167 000 000; +80.54% ❗ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 68 000 000; +15.25% ✔️ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 127 000 000; +69.33% ❗ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 152 000 000; +213.40% ‼️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 653 000 000; +201.62% ‼️ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 197 000 000; +93.14% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 82 000 000; +25.19% ❗ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 200 000 000; +230.58% ‼️ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 1 136 000 000; +440.95% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 140 000 000; +273.33% ‼️ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 145 000 000; +132.00% ‼️ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 84 000 000; +162.50% ❗ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 129 000 000; +145.71% ❗ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 90 000 000; +62.16% ❗ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 105 000 000; +107.92% ❗ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 224 000 000; +330.77% ‼️ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 161 000 000; +318.18% ‼️ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 146 000 000; +170.37% ‼️ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 83 000 000; +56.60% ❗ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 62 000 000; +14.81% ✔️ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 154 000 000; +196.15% ‼️ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 120 000 000; +158.06% ❗ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 89 000 000; +154.29% ❗ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 75 000 000; +38.89% ❗ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 71 000 000; +0.00% ✔️ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 98 000 000; +104.17% ❗ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 89 000 000; +43.55% ❗ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 103 000 000; +17.71% ✔️ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 94 000 000; +12.57% ✔️ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 119 000 000; +63.01% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 128 000 000; +60.00% ❗ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 34 000 000; -5.56% ✔️ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 48 000 000; -9.43% ✔️ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 65 000 000; +15.04% ✔️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 74 000 000; +39.62% ❗ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 103 000 000; +98.08% ❗ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 52 000 000; +1.96% ✔️ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 85 000 000; +53.15% ❗ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 131 000 000; +149.52% ‼️ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 122 000 000; +141.58% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 118 000 000; +124.76% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 229 414 229 142; +43.21% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 348 041 557; +696.67% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 516 826 632; +734.38% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 784 534 060; +579.75% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 1 517 377 218; +533.59% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 974 476 035; +628.91% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 17 710 365 139; +4.80% ‼️ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 349 260 561; +369.13% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 382 474 831; +519.74% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 724 146 919; +456.35% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 15 791 059 857; +69.76% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 16 511 164 944; +77.14% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 16 270 343 674; +75.30% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 13 799 272 698; +50.67% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 9 271 884 406; +3.56% ❗ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 10 918 689 593; +18.44% ‼️ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 16 199 049 756; +71.38% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 13 923 268 354; +51.51% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 13 853 782 248; +51.01% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 357 529 508; +9.68% ‼️ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 6 592 660 838; +29.78% ‼️ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 5 108 557 882; +3.87% ❗ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 6 523 038 981; +27.47% ‼️ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 429 436 956; +362.89% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 182 693 153; +203.30% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 764 616 795; +467.75% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 1 370 347 186; +464.09% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 1 532 515 762; +524.67% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 647 106 481; +583.01% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 285 468 498; +252.04% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 344 779 197; +394.65% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 536 351 274; +3.98% ‼️ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 315 795 551; +388.28% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 212 235 361; +543.31% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 303 465 527; +584.35% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 213 028 222; +259.87% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 377 968 666; +604.75% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 329 704 298; +614.41% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 215 756 684; +219.98% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 348 129 954; +331.20% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 138 185 767; +559.15% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 498 530 523; +716.22% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 065 975 991; +305.17% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 480 084 637; +416.05% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 278 177 341; +3.98% ❗ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 11 769 167 919; +3.57% ‼️ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531
fe17833
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 80 441 000 000; +3285.56% ❗ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 36 000 000; +63.64% ❗ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 21 000 000; -34.38% ✔️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 29 000 000; -9.38% ✔️ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 28 000 000; +3.70% ✔️ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 29 000 000; -6.45% ✔️ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 23 000 000; -20.69% ✔️ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 40 000 000; +29.03% ❗ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 31 000 000; +0.00% ✔️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 24 000 000; -22.58% ✔️ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 58 000 000; +90.16% ‼️ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 42 000 000; +42.37% ❗ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 19 000 000; -11.63% ✔️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 28 000 000; +33.33% ❗ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 51 000 000; +32.47% ❗ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 279 000 000; +55.00% ‼️ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 37 000 000; +8.82% ✔️ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 92 000 000; +22.67% ❗ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 112 000 000; +65.93% ❗ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 121 000 000; +112.28% ‼️ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 58 000 000; +34.88% ❗ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 59 000 000; +45.68% ❗ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 84 000 000; +63.11% ❗ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 40 000 000; +0.00% ✔️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 299 000 000; +232.22% ‼️ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 133 000 000; +241.03% ‼️ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 121 000 000; +178.16% ‼️ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 108 000 000; +142.70% ❗ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 99 000 000; +115.22% ❗ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 205 000 000; +376.74% ‼️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 206 000 000; +240.50% ‼️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 172 000 000; +173.02% ‼️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 154 000 000; +129.85% ‼️ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 179 000 000; +234.58% ‼️ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 206 000 000; +88.99% ❗ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 78 000 000; +21.88% ❗ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 104 000 000; +136.36% ❗ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 209 000 000; +98.10% ‼️ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 65 000 000; +12.07% ✔️ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 142 000 000; +123.62% ❗ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 57 000 000; +6.54% ✔️ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 164 000 000; +198.18% ‼️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 187 000 000; +233.93% ‼️ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 127 000 000; +139.62% ‼️ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 257 000 000; +435.42% ‼️ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 275 000 000; +439.22% ‼️ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 220 000 000; +348.98% ‼️ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 175 000 000; +250.00% ‼️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 204 000 000; +303.96% ‼️ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 610 000 000; +382.21% ‼️ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 374 000 000; +293.68% ‼️ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 338 000 000; +212.96% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 606 000 000; +424.68% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 333 000 000; +168.55% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 315 000 000; +346.81% ‼️ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 157 000 000; +69.73% ❗ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 115 000 000; +94.92% ❗ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 197 000 000; +162.67% ‼️ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 203 000 000; +318.56% ‼️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 507 000 000; +134.18% ‼️ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 260 000 000; +154.90% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 183 000 000; +179.39% ‼️ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 175 000 000; +189.26% ‼️ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 425 000 000; +102.38% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 104 000 000; +177.33% ‼️ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 191 000 000; +205.60% ‼️ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 92 000 000; +187.50% ❗ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 136 000 000; +159.05% ❗ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 130 000 000; +134.23% ‼️ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 93 000 000; +84.16% ❗ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 113 000 000; +117.31% ❗ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 54 000 000; +40.26% ❗ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 161 000 000; +198.15% ‼️ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 86 000 000; +62.26% ❗ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 130 000 000; +140.74% ‼️ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 180 000 000; +246.15% ‼️ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 172 000 000; +269.89% ‼️ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 32 000 000; -8.57% ✔️ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 92 000 000; +70.37% ❗ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 154 000 000; +116.90% ❗ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 34 000 000; -29.17% ✔️ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 69 000 000; +11.29% ✔️ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 91 000 000; +4.00% ✔️ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 106 000 000; +26.95% ❗ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 140 000 000; +91.78% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 98 000 000; +22.50% ✔️ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 142 000 000; +294.44% ‼️ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 72 000 000; +35.85% ❗ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 63 000 000; +11.50% ✔️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 156 000 000; +194.34% ‼️ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 100 000 000; +92.31% ❗ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 59 000 000; +15.69% ✔️ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 160 000 000; +188.29% ‼️ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 125 000 000; +138.10% ‼️ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 85 000 000; +68.32% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 190 000 000; +261.90% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 231 252 180 183; +44.36% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 351 019 087; +703.48% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 718 651 264; +1060.22% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 1 103 813 290; +856.38% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 1 536 163 763; +541.43% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 1 213 183 587; +807.46% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 17 430 025 099; +3.14% ❗ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 436 657 904; +486.53% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 442 794 762; +617.48% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 741 450 916; +469.64% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 14 834 313 204; +59.48% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 16 089 693 121; +72.62% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 16 299 134 532; +75.61% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 14 383 986 703; +57.05% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 9 319 928 047; +4.09% ❗ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 14 170 479 708; +53.71% ‼️ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 16 370 067 505; +73.19% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 14 441 263 206; +57.15% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 107 049 806; +53.77% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 032 926 485; +3.03% ✔️ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 5 469 582 776; +7.67% ❗ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 5 052 658 441; +2.73% ❗ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 5 106 343 263; -0.22% ✔️ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 425 375 156; +358.51% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 378 687 747; +528.69% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 892 566 411; +508.92% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 1 509 703 887; +521.45% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 1 569 283 994; +539.66% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 612 550 600; +568.68% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 341 054 844; +320.59% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 417 667 562; +499.22% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 386 532 211; +3.04% ❗ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 414 370 122; +540.69% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 252 483 714; +665.31% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 440 214 815; +892.74% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 303 374 259; +412.50% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 476 065 155; +787.66% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 444 225 325; +862.56% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 345 741 890; +412.75% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 412 460 015; +410.88% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 134 725 634; +542.64% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 560 769 022; +818.12% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 135 557 173; +331.62% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 593 214 864; +537.66% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 142 685 302; +2.46% ❗ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 11 732 753 759; +3.25% ‼️ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531
1d9ddf0
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 120 368 000 000; +4965.99% ‼️ 2 376 000 000 3 516 670 000 (2 363 000 000; 2 396 000 000) 2 317 000 000 116 057 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 79 000 000; +259.09% ‼️ 22 000 000 21 410 000 (15 000 000; 28 000 000) 6 000 000 38 000 000
tests::all_keys_are_cleared 120 000 000; +275.00% ‼️ 32 000 000 32 120 000 (24 000 000; 39 000 000) 8 000 000 68 000 000
tests::gas_free_after_consumed 136 000 000; +325.00% ‼️ 32 000 000 31 630 000 (25 000 000; 36 000 000) 10 000 000 60 000 000
tests::limit_vs_origin 304 000 000; +1025.93% ‼️ 27 000 000 28 830 000 (21 000 000; 38 000 000) 10 000 000 56 000 000
tests::long_chain 73 000 000; +135.48% ‼️ 31 000 000 30 680 000 (24 000 000; 37 000 000) 8 000 000 60 000 000
tests::simple_value_tree 80 000 000; +175.86% ‼️ 29 000 000 30 860 000 (24 000 000; 37 500 000) 8 000 000 57 000 000
tests::split_with_no_value 403 000 000; +1200.00% ‼️ 31 000 000 31 020 000 (24 000 000; 39 000 000) 10 000 000 66 000 000
tests::sub_nodes_tree 308 000 000; +893.55% ‼️ 31 000 000 30 440 000 (24 000 000; 36 000 000) 12 000 000 58 000 000
tests::sub_nodes_tree_with_spends 114 000 000; +267.74% ‼️ 31 000 000 30 230 000 (23 500 000; 36 500 000) 10 000 000 75 000 000
tests::subtree_gas_limit_remains_intact 312 000 000; +922.95% ‼️ 30 500 000 29 870 000 (22 000 000; 36 000 000) 12 000 000 53 000 000
tests::value_tree_known_errors 331 000 000; +1022.03% ‼️ 29 500 000 30 730 000 (24 000 000; 38 000 000) 11 000 000 60 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 100 000 000; +365.12% ‼️ 21 500 000 22 460 000 (16 000 000; 29 000 000) 7 000 000 49 000 000
schedule::test::print_test_schedule 80 000 000; +280.95% ‼️ 21 000 000 21 630 000 (14 500 000; 27 000 000) 6 000 000 44 000 000
tests::block_gas_limit_works 56 000 000; +45.45% ❗ 38 500 000 39 010 000 (30 000 000; 47 000 000) 16 000 000 77 000 000
tests::cascading_messages_with_value_do_not_overcharge 741 000 000; +311.67% ‼️ 180 000 000 184 570 000 (167 000 000; 199 500 000) 148 000 000 252 000 000
tests::claim_value_from_mailbox_works 60 000 000; +76.47% ❗ 34 000 000 35 680 000 (26 000 000; 41 500 000) 15 000 000 82 000 000
tests::defer_program_initialization 99 000 000; +32.00% ❗ 75 000 000 78 800 000 (64 000 000; 86 500 000) 50 000 000 138 000 000
tests::distributor_distribute 306 000 000; +353.33% ‼️ 67 500 000 70 260 000 (59 000 000; 81 000 000) 44 000 000 114 000 000
tests::distributor_initialize 326 000 000; +471.93% ‼️ 57 000 000 58 790 000 (46 500 000; 67 500 000) 32 000 000 109 000 000
tests::events_logging_works 124 000 000; +188.37% ‼️ 43 000 000 43 580 000 (32 000 000; 49 000 000) 16 000 000 110 000 000
tests::exit_handle 36 000 000; -11.11% ✔️ 40 500 000 43 140 000 (35 000 000; 50 000 000) 23 000 000 87 000 000
tests::exit_init 202 000 000; +292.23% ‼️ 51 500 000 56 960 000 (43 500 000; 67 500 000) 28 000 000 127 000 000
tests::gas_spent_precalculated 176 000 000; +340.00% ‼️ 40 000 000 41 710 000 (31 500 000; 49 000 000) 19 000 000 86 000 000
tests::gas_spent_vs_balance 162 000 000; +80.00% ❗ 90 000 000 95 260 000 (77 500 000; 109 500 000) 52 000 000 185 000 000
tests::init_message_logging_works 100 000 000; +156.41% ‼️ 39 000 000 42 150 000 (32 000 000; 52 000 000) 16 000 000 94 000 000
tests::lazy_pages 228 000 000; +424.14% ‼️ 43 500 000 44 510 000 (34 000 000; 52 000 000) 18 000 000 93 000 000
tests::mailbox_works 344 000 000; +673.03% ‼️ 44 500 000 49 690 000 (37 000 000; 57 000 000) 17 000 000 133 000 000
tests::memory_access_cases 360 000 000; +682.61% ‼️ 46 000 000 51 490 000 (36 000 000; 60 000 000) 20 000 000 126 000 000
tests::messages_processing_works 195 000 000; +353.49% ‼️ 43 000 000 47 040 000 (35 000 000; 58 000 000) 18 000 000 103 000 000
tests::messages_to_paused_program_skipped 403 000 000; +566.12% ‼️ 60 500 000 62 910 000 (47 500 000; 73 000 000) 27 000 000 121 000 000
tests::messages_to_uninitialized_program_wait 565 000 000; +796.83% ‼️ 63 000 000 65 130 000 (50 000 000; 77 000 000) 29 000 000 140 000 000
tests::paused_program_keeps_id 411 000 000; +513.43% ‼️ 67 000 000 71 900 000 (52 500 000; 88 000 000) 34 000 000 153 000 000
tests::program_lifecycle_works 84 000 000; +57.01% ❗ 53 500 000 56 090 000 (41 000 000; 67 000 000) 24 000 000 103 000 000
tests::program_messages_to_paused_program_skipped 851 000 000; +680.73% ‼️ 109 000 000 111 900 000 (91 000 000; 127 500 000) 58 000 000 213 000 000
tests::replies_to_paused_program_skipped 164 000 000; +156.25% ‼️ 64 000 000 66 050 000 (54 000 000; 78 000 000) 23 000 000 118 000 000
tests::restrict_start_section 61 000 000; +38.64% ❗ 44 000 000 48 910 000 (35 000 000; 61 000 000) 15 000 000 128 000 000
tests::resume_program_works 674 000 000; +538.86% ‼️ 105 500 000 107 660 000 (89 500 000; 121 000 000) 58 000 000 198 000 000
tests::send_message_expected_failure 105 000 000; +81.03% ❗ 58 000 000 60 250 000 (44 000 000; 72 000 000) 26 000 000 138 000 000
tests::send_message_works 253 000 000; +298.43% ‼️ 63 500 000 62 600 000 (46 000 000; 73 500 000) 14 000 000 163 000 000
tests::send_reply_failure_to_claim_from_mailbox 224 000 000; +318.69% ‼️ 53 500 000 55 480 000 (42 000 000; 67 000 000) 18 000 000 111 000 000
tests::send_reply_value_claiming_works 360 000 000; +554.55% ‼️ 55 000 000 59 170 000 (44 000 000; 72 000 000) 27 000 000 132 000 000
tests::send_reply_works 123 000 000; +119.64% ‼️ 56 000 000 57 820 000 (43 500 000; 71 000 000) 19 000 000 108 000 000
tests::spent_gas_to_reward_block_author_works 212 000 000; +300.00% ‼️ 53 000 000 55 980 000 (42 000 000; 67 000 000) 20 000 000 105 000 000
tests::submit_program_expected_failure 208 000 000; +333.33% ‼️ 48 000 000 51 570 000 (37 000 000; 60 500 000) 19 000 000 119 000 000
tests::submit_program_fails_on_duplicate_id 88 000 000; +72.55% ❗ 51 000 000 55 670 000 (39 500 000; 73 000 000) 11 000 000 128 000 000
tests::test_code_is_not_reset_within_program_submission 208 000 000; +324.49% ‼️ 49 000 000 51 450 000 (37 000 000; 61 000 000) 18 000 000 162 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 209 000 000; +318.00% ‼️ 50 000 000 52 260 000 (37 500 000; 63 000 000) 19 000 000 110 000 000
tests::test_code_submission_pass 88 000 000; +74.26% ❗ 50 500 000 55 090 000 (36 500 000; 70 000 000) 20 000 000 130 000 000
tests::test_create_program_duplicate 840 000 000; +564.03% ‼️ 126 500 000 130 740 000 (108 000 000; 151 500 000) 66 000 000 236 000 000
tests::test_create_program_duplicate_in_one_execution 271 000 000; +185.26% ‼️ 95 000 000 96 760 000 (75 500 000; 114 500 000) 42 000 000 202 000 000
tests::test_create_program_miscellaneous 881 000 000; +715.74% ‼️ 108 000 000 113 840 000 (88 500 000; 132 500 000) 56 000 000 220 000 000
tests::test_create_program_no_code_hash 920 000 000; +696.54% ‼️ 115 500 000 113 270 000 (90 500 000; 134 500 000) 57 000 000 181 000 000
tests::test_create_program_simple 540 000 000; +335.48% ‼️ 124 000 000 122 000 000 (103 000 000; 143 000 000) 53 000 000 196 000 000
tests::test_create_program_with_exceeding_value 136 000 000; +92.91% ❗ 70 500 000 74 550 000 (57 500 000; 90 000 000) 27 000 000 159 000 000
tests::test_create_program_with_value_lt_ed 116 000 000; +25.41% ❗ 92 500 000 92 010 000 (69 000 000; 107 000 000) 40 000 000 212 000 000
tests::test_message_processing_for_non_existing_destination 60 000 000; +1.69% ✔️ 59 000 000 61 370 000 (45 500 000; 73 500 000) 19 000 000 131 000 000
tests::test_reply_to_terminated_program 76 000 000; +1.33% ✔️ 75 000 000 74 060 000 (55 000 000; 88 000 000) 25 000 000 155 000 000
tests::test_same_code_submission_fails 67 000 000; +38.14% ✔️ 48 500 000 54 520 000 (38 000 000; 69 500 000) 17 000 000 123 000 000
tests::test_two_contracts_composition_works 655 000 000; +202.54% ‼️ 216 500 000 223 100 000 (190 000 000; 251 500 000) 120 000 000 383 000 000
tests::uninitialized_program_should_accept_replies 261 000 000; +155.88% ‼️ 102 000 000 101 910 000 (81 000 000; 120 000 000) 49 000 000 197 000 000
tests::unstoppable_block_execution_works 174 000 000; +165.65% ‼️ 65 500 000 67 150 000 (51 000 000; 78 000 000) 19 000 000 168 000 000
tests::unused_gas_released_back_works 116 000 000; +91.74% ‼️ 60 500 000 62 700 000 (46 000 000; 76 000 000) 28 000 000 113 000 000
tests::wake_messages_after_program_inited 776 000 000; +269.52% ‼️ 210 000 000 213 070 000 (178 000 000; 246 500 000) 133 000 000 337 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 71 000 000; +89.33% ❗ 37 500 000 40 650 000 (24 000 000; 56 000 000) 6 000 000 99 000 000
tests::debug_mode_works 129 000 000; +106.40% ‼️ 62 500 000 65 830 000 (47 000 000; 84 000 000) 31 000 000 122 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 113 000 000; +253.12% ‼️ 32 000 000 38 550 000 (23 500 000; 53 000 000) 5 000 000 109 000 000
tests::dequeued_impl_works_manually 57 000 000; +8.57% ✔️ 52 500 000 55 410 000 (35 000 000; 65 500 000) 15 000 000 158 000 000
tests::queue_processing_impl_works_manually 87 000 000; +56.76% ❗ 55 500 000 54 370 000 (38 000 000; 70 000 000) 13 000 000 112 000 000
tests::queue_works 100 000 000; +98.02% ❗ 50 500 000 53 150 000 (36 500 000; 67 500 000) 12 000 000 130 000 000
tests::sent_impl_works 318 000 000; +511.54% ‼️ 52 000 000 56 380 000 (40 000 000; 69 500 000) 10 000 000 144 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 69 000 000; +79.22% ❗ 38 500 000 39 790 000 (23 500 000; 52 000 000) 4 000 000 102 000 000
tests::custom_fee_multiplier_updated_per_block 53 000 000; -1.85% ✔️ 54 000 000 56 380 000 (38 000 000; 67 000 000) 17 000 000 117 000 000
tests::fee_rounding_error_bounded_by_multiplier 188 000 000; +254.72% ‼️ 53 000 000 57 520 000 (40 000 000; 74 500 000) 16 000 000 120 000 000
tests::mq_size_affecting_fee_works 208 000 000; +285.19% ‼️ 54 000 000 56 130 000 (40 500 000; 70 000 000) 17 000 000 113 000 000
tests::mq_size_not_affecting_fee_works 127 000 000; +144.23% ‼️ 52 000 000 57 510 000 (40 500 000; 73 500 000) 18 000 000 117 000 000
tests::query_info_and_fee_details_work 295 000 000; +534.41% ‼️ 46 500 000 54 060 000 (34 500 000; 72 000 000) 16 000 000 123 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 250 000 000; +614.29% ‼️ 35 000 000 41 260 000 (24 000 000; 56 500 000) 7 000 000 124 000 000
tests::pause_program_twice_fails 264 000 000; +388.89% ‼️ 54 000 000 55 760 000 (35 500 000; 71 500 000) 7 000 000 142 000 000
tests::pause_program_works 312 000 000; +339.44% ‼️ 71 000 000 74 790 000 (53 000 000; 92 000 000) 21 000 000 167 000 000
tests::pause_terminated_program_fails 88 000 000; +83.33% ❗ 48 000 000 53 350 000 (34 000 000; 65 000 000) 15 000 000 142 000 000
tests::pause_uninitialized_program_works 232 000 000; +274.19% ‼️ 62 000 000 69 060 000 (50 000 000; 86 500 000) 24 000 000 164 000 000
tests::resume_program_twice_fails 151 000 000; +72.57% ❗ 87 500 000 90 710 000 (68 000 000; 108 000 000) 40 000 000 160 000 000
tests::resume_program_wrong_list_fails 101 000 000; +20.96% ✔️ 83 500 000 85 990 000 (60 000 000; 104 500 000) 27 000 000 252 000 000
tests::resume_program_wrong_memory_fails 106 000 000; +45.21% ❗ 73 000 000 78 190 000 (58 500 000; 94 500 000) 28 000 000 232 000 000
tests::resume_uninitialized_program_works 100 000 000; +25.00% ✔️ 80 000 000 84 120 000 (62 000 000; 102 000 000) 34 000 000 168 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 75 000 000; +108.33% ❗ 36 000 000 40 000 000 (25 000 000; 54 500 000) 5 000 000 102 000 000
tests::dust_discarded_with_noop 102 000 000; +92.45% ❗ 53 000 000 56 260 000 (42 000 000; 64 500 000) 16 000 000 107 000 000
tests::external_submitter_gets_rewarded 130 000 000; +130.09% ‼️ 56 500 000 58 400 000 (44 000 000; 70 000 000) 14 000 000 108 000 000
tests::gas_properly_handled_for_trap_replies 67 000 000; +26.42% ✔️ 53 000 000 56 800 000 (38 500 000; 73 000 000) 19 000 000 136 000 000
tests::ocw_double_charge 132 000 000; +153.85% ‼️ 52 000 000 54 030 000 (40 000 000; 67 500 000) 10 000 000 107 000 000
tests::ocw_interval_maintained 69 000 000; +35.29% ❗ 51 000 000 55 150 000 (37 500 000; 68 500 000) 20 000 000 135 000 000
tests::ocw_interval_stretches_for_large_wait_list 96 000 000; +72.97% ❗ 55 500 000 56 620 000 (40 500 000; 70 500 000) 18 000 000 115 000 000
tests::ocw_overlapping_prevented 99 000 000; +88.57% ❗ 52 500 000 54 060 000 (38 500 000; 69 000 000) 15 000 000 111 000 000
tests::rent_charge_works 113 000 000; +123.76% ❗ 50 500 000 51 710 000 (34 000 000; 63 000 000) 19 000 000 125 000 000
tests::trap_reply_message_is_sent 161 000 000; +206.67% ‼️ 52 500 000 53 620 000 (34 500 000; 67 500 000) 18 000 000 111 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 320 245 004 695; +99.91% ‼️ 160 192 702 199 160 269 877 037 (159 797 851 211; 160 768 359 679) 158 570 193 217 162 115 599 461

name = Async RwLock

name current median average lower/upper quartile min max
check readers 699 649 034; +1501.49% ‼️ 43 687 254 46 627 163 (39 450 755; 51 122 636) 32 779 616 115 192 015
forever lock 801 712 282; +1194.31% ‼️ 61 941 100 68 807 330 (55 741 508; 71 346 145) 45 829 215 148 721 511
read while writing 1 299 242 515; +1025.71% ‼️ 115 415 728 123 324 121 (105 443 721; 139 257 555) 74 782 607 193 440 275
rwlock wide 2 186 899 390; +813.15% ‼️ 239 488 839 233 199 067 (216 921 237; 250 312 353) 182 591 415 283 351 925
write while reading 1 688 296 229; +1162.84% ‼️ 133 690 196 145 574 524 (123 764 566; 169 404 756) 104 290 444 215 025 578

name = Async init

name current median average lower/upper quartile min max
approved pong 25 288 784 572; +49.64% ‼️ 16 899 618 720 16 915 331 798 (16 785 477 327; 17 002 119 735) 16 539 429 531 17 573 745 088

name = Async-await

name current median average lower/upper quartile min max
normal 482 557 798; +548.18% ‼️ 74 447 955 73 358 145 (67 212 958; 81 067 871) 33 987 106 106 566 388
panic 542 747 680; +779.44% ‼️ 61 715 401 63 095 699 (48 179 742; 79 056 195) 31 575 339 102 274 390

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 088 260 860; +736.09% ‼️ 130 160 527 120 667 620 (104 052 918; 139 056 189) 63 521 263 151 310 674

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 20 876 696 592; +124.44% ‼️ 9 301 838 010 9 295 701 291 (9 174 174 081; 9 425 628 970) 8 995 871 486 9 681 159 152
2 of 3; bob & eve 19 975 504 727; +114.30% ‼️ 9 321 139 311 9 340 064 176 (9 215 170 007; 9 434 436 304) 9 032 444 321 9 805 595 972
2 of 3; eve & alice 20 827 724 964; +124.40% ‼️ 9 281 554 833 9 290 335 481 (9 195 033 952; 9 400 631 241) 8 907 204 832 9 707 059 873
2 of 3; eve doesn't answer, alice replies with incorrect payload 18 221 130 972; +98.95% ‼️ 9 158 728 833 9 183 481 588 (9 058 612 305; 9 318 493 664) 8 740 077 917 9 762 007 685
2 of 3; no replies 14 201 118 061; +58.61% ‼️ 8 953 543 288 8 974 937 254 (8 861 862 630; 9 086 174 558) 8 615 574 960 9 532 764 691
Single signatory & zero threshold 15 008 650 464; +62.80% ‼️ 9 218 905 720 9 216 975 893 (9 065 852 319; 9 361 682 443) 8 736 811 987 9 643 124 349
Three signatories & redundand threshold 21 093 824 864; +123.17% ‼️ 9 451 953 189 9 454 754 331 (9 332 937 876; 9 575 174 749) 9 044 830 599 9 840 866 825
Three signatories; Bob replies with incorrect signature 18 912 164 399; +105.80% ‼️ 9 189 373 515 9 207 553 099 (9 076 072 410; 9 360 781 960) 8 730 498 920 9 759 535 382
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 18 332 985 357; +99.83% ‼️ 9 174 267 866 9 177 020 424 (9 059 466 108; 9 251 728 616) 8 788 944 374 9 656 038 484

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 7 538 380 397; +54.32% ‼️ 4 884 792 943 4 891 056 920 (4 748 211 570; 5 051 911 486) 4 389 867 100 5 275 017 118
correct signature but for another message 9 092 345 484; +78.99% ‼️ 5 079 910 376 5 076 904 604 (4 932 883 232; 5 223 550 859) 4 643 386 487 5 494 171 526
no reply 7 453 226 785; +51.54% ‼️ 4 918 433 011 4 867 214 877 (4 718 985 383; 5 019 671 002) 4 356 284 893 5 282 456 505
signed message 9 142 220 095; +78.65% ‼️ 5 117 389 703 5 084 697 170 (4 936 422 997; 5 221 326 932) 4 642 849 809 5 471 574 605

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 731 726 642; +688.73% ‼️ 92 772 972 90 326 087 (79 571 555; 100 802 107) 43 546 589 129 195 238

name = Decoder

name current median average lower/upper quartile min max
decoder 473 001 835; +685.27% ‼️ 60 234 343 54 274 064 (32 227 407; 69 458 853) 21 726 885 86 699 674

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 762 554 645; +788.83% ‼️ 310 807 627 297 140 504 (269 951 914; 323 980 518) 182 577 766 370 042 623
join 2 303 484 313; +848.20% ‼️ 242 932 004 246 091 996 (212 656 455; 269 888 829) 165 825 346 367 204 880
select 2 674 819 881; +990.28% ‼️ 245 332 292 252 675 515 (212 758 925; 296 367 041) 171 455 269 353 254 239

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 849 765 354; +667.04% ‼️ 241 155 060 232 334 395 (201 662 944; 261 266 799) 163 506 596 327 674 437

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 495 271 249; +510.77% ‼️ 81 089 741 82 796 357 (74 995 923; 91 181 167) 47 030 966 125 167 167

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 675 418 338; +869.02% ‼️ 69 701 308 62 669 454 (33 448 996; 84 427 907) 21 669 769 112 330 565

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 23 786 019 643; +49.57% ‼️ 15 903 402 040 15 905 972 075 (15 749 046 678; 16 014 171 919) 15 486 573 736 16 456 555 132

name = Multiping

name current median average lower/upper quartile min max
multiping 491 136 979; +659.39% ‼️ 64 675 606 61 537 236 (50 354 374; 73 976 765) 26 617 505 98 331 915

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 219 438 075; +565.14% ‼️ 32 991 231 40 449 860 (25 544 564; 57 118 275) 15 748 557 84 254 464
ping-pong wgas 405 404 180; +814.23% ‼️ 44 343 560 50 703 587 (39 521 133; 53 804 126) 29 064 756 99 720 611

name = Program_id test

name current median average lower/upper quartile min max
program_id 384 990 284; +550.37% ‼️ 59 195 396 58 036 729 (52 439 731; 65 040 290) 21 622 726 81 605 849

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 500 230 839; +832.72% ‼️ 53 631 540 62 394 748 (44 432 680; 84 773 245) 31 921 607 110 343 197
state-saving 375 220 348; +713.04% ‼️ 46 150 293 50 752 061 (40 465 262; 53 990 545) 31 574 270 105 983 609

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 426 725 871; +532.86% ‼️ 67 428 420 64 917 939 (59 412 886; 73 443 083) 26 138 961 92 799 939
Try to re-init existing program 601 112 445; +644.54% ‼️ 80 735 767 80 226 886 (61 516 379; 98 318 054) 43 583 850 122 663 528

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 194 218 524; +826.42% ‼️ 20 964 391 25 671 303 (16 597 638; 28 402 351) 9 590 586 56 760 969

name = Wait test

name current median average lower/upper quartile min max
wait 622 303 844; +918.87% ‼️ 61 077 842 66 975 163 (50 858 826; 80 714 711) 32 768 349 113 183 231

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 2 341 335 096; +789.93% ‼️ 263 092 811 264 453 545 (228 383 560; 302 471 116) 187 618 708 345 569 552

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 684 582 371; +635.87% ‼️ 93 030 453 92 430 628 (83 713 495; 100 226 303) 67 077 231 125 918 962

name = guestbook test

name current median average lower/upper quartile min max
guestbook 13 630 142 155; +52.75% ‼️ 8 922 916 977 8 897 524 126 (8 757 776 563; 9 029 575 258) 8 414 533 947 9 430 754 257

name = gui test

name current median average lower/upper quartile min max
gui 18 807 733 116; +65.51% ‼️ 11 363 373 183 11 366 274 540 (11 261 564 314; 11 455 107 445) 11 051 995 054 11 730 479 531

@codecov
Copy link

codecov bot commented Jun 6, 2022

Codecov Report

Merging #1000 (9fd3afd) into master (f0f52ac) will decrease coverage by 1.42%.
The diff coverage is 67.32%.

@@            Coverage Diff             @@
##           master    #1000      +/-   ##
==========================================
- Coverage   73.66%   72.23%   -1.43%     
==========================================
  Files          88       89       +1     
  Lines        8350     8583     +233     
==========================================
+ Hits         6151     6200      +49     
- Misses       2199     2383     +184     
Impacted Files Coverage Δ
common/src/lib.rs 76.21% <ø> (-5.48%) ⬇️
core-processor/src/common.rs 68.00% <ø> (ø)
pallets/gear-program/src/pause.rs 92.85% <ø> (ø)
pallets/gear/src/mock.rs 65.32% <0.00%> (-1.08%) ⬇️
pallets/usage/src/lib.rs 47.42% <ø> (-0.18%) ⬇️
pallets/gear/src/lib.rs 46.55% <29.11%> (-4.66%) ⬇️
gtest/src/manager.rs 72.54% <37.03%> (-1.46%) ⬇️
pallets/gear-debug/src/tests.rs 92.00% <50.00%> (ø)
core-processor/src/handler.rs 88.88% <80.00%> (-11.12%) ⬇️
pallets/gear/src/manager.rs 72.22% <88.88%> (-10.42%) ⬇️
... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f0f52ac...9fd3afd. Read the comment docs.

pallets/gear/src/manager.rs Outdated Show resolved Hide resolved
pallets/gear/src/manager.rs Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
pallets/gas/src/lib.rs Outdated Show resolved Hide resolved
pallets/gas/src/lib.rs Outdated Show resolved Hide resolved
Copy link
Member

@gshep gshep left a comment

Choose a reason for hiding this comment

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

Great work! There are several remarks not so important though.

pallets/gear/src/manager.rs Outdated Show resolved Hide resolved
pallets/gear/src/manager.rs Outdated Show resolved Hide resolved
pallets/gear/src/lib.rs Outdated Show resolved Hide resolved
common/src/event.rs Outdated Show resolved Hide resolved
common/src/lib.rs Outdated Show resolved Hide resolved
pallets/gas/src/lib.rs Outdated Show resolved Hide resolved
common/codegen/Cargo.toml Outdated Show resolved Hide resolved
@breathx breathx merged commit 3a2128a into master Jun 7, 2022
@breathx breathx deleted the dn-new-great-events branch June 7, 2022 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A0-pleasereview PR is ready to be reviewed by the team B1-releasenotes The feature deserves to be added to the Release Notes C2-refactoring Refactoring proposal D2-node Gear Node
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rethink pallet events
6 participants