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

Paste error explanation into error reply #1066

Merged
merged 17 commits into from Jun 22, 2022
Merged

Conversation

breathx
Copy link
Member

@breathx breathx commented Jun 16, 2022

Resolves #970.

Release notes: Now error replies contain error explanations in the payload, so the programs and user side have more information about the occurred error. When error message sent to user (it propagates event and probably adds to mailbox), it contains string explanation of the error in payload, formed by display formatter. When error message sent to program, it contains encoded bytes of error structure, see more updates on it in #1084.

@breathx breathx added A0-pleasereview PR is ready to be reviewed by the team D1-core Gear Core D2-node Gear Node B1-releasenotes The feature deserves to be added to the Release Notes C1-feature Feature request labels Jun 16, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jun 16, 2022

a1e9b06
Pallet tests (values are in nanosegconds)

Total execution time

name current median average lower/upper quartile min max
Total time 85 911 000 000; +3371.15% ❗ 2 475 000 000 3 976 609 999 (2 445 500 000; 2 510 000 000) 2 404 000 000 133 201 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 15 000 000; -37.50% ✔️ 24 000 000 27 650 000 (18 000 000; 30 000 000) 5 000 000 231 000 000
tests::all_keys_are_cleared 47 000 000; +30.56% ❗ 36 000 000 40 610 000 (30 000 000; 42 500 000) 9 000 000 232 000 000
tests::gas_free_after_consumed 28 000 000; -17.65% ✔️ 34 000 000 37 680 000 (25 500 000; 41 000 000) 10 000 000 184 000 000
tests::limit_vs_origin 34 000 000; +6.25% ✔️ 32 000 000 38 640 000 (24 000 000; 42 500 000) 9 000 000 256 000 000
tests::long_chain 43 000 000; +32.31% ❗ 32 500 000 40 120 000 (23 000 000; 41 000 000) 11 000 000 460 000 000
tests::simple_value_tree 25 000 000; -21.88% ✔️ 32 000 000 38 760 000 (24 000 000; 44 000 000) 7 000 000 216 000 000
tests::split_with_no_value 42 000 000; +31.25% ✔️ 32 000 000 38 700 000 (22 000 000; 42 500 000) 9 000 000 432 000 000
tests::sub_nodes_tree 35 000 000; +2.94% ✔️ 34 000 000 37 650 000 (25 500 000; 44 000 000) 14 000 000 181 000 000
tests::sub_nodes_tree_with_spends 26 000 000; -17.46% ✔️ 31 500 000 39 790 000 (26 000 000; 41 000 000) 11 000 000 336 000 000
tests::subtree_gas_limit_remains_intact 40 000 000; +9.59% ✔️ 36 500 000 43 460 000 (26 000 000; 46 000 000) 7 000 000 336 000 000
tests::value_tree_known_errors 33 000 000; -1.49% ✔️ 33 500 000 39 700 000 (24 500 000; 45 000 000) 10 000 000 324 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 26 000 000; +6.12% ✔️ 24 500 000 28 900 000 (16 500 000; 33 500 000) 5 000 000 172 000 000
schedule::test::print_test_schedule 20 000 000; -14.89% ✔️ 23 500 000 31 970 000 (15 000 000; 32 000 000) 6 000 000 376 000 000
tests::block_gas_limit_works 39 000 000; -11.36% ✔️ 44 000 000 55 640 000 (31 500 000; 61 500 000) 17 000 000 356 000 000
tests::call_forbidden_function 61 000 000; +45.24% ❗ 42 000 000 50 720 000 (29 000 000; 61 000 000) 13 000 000 292 000 000
tests::cascading_messages_with_value_do_not_overcharge 201 000 000; -14.10% ✔️ 234 000 000 249 750 000 (206 500 000; 268 000 000) 144 000 000 648 000 000
tests::claim_value_from_mailbox_works 53 000 000; +10.42% ✔️ 48 000 000 53 620 000 (35 500 000; 59 000 000) 18 000 000 292 000 000
tests::defer_program_initialization 74 000 000; -16.85% ✔️ 89 000 000 108 570 000 (76 500 000; 119 000 000) 53 000 000 603 000 000
tests::distributor_distribute 91 000 000; -6.19% ✔️ 97 000 000 102 500 000 (73 000 000; 118 500 000) 45 000 000 467 000 000
tests::distributor_initialize 102 000 000; +44.68% ❗ 70 500 000 80 350 000 (56 000 000; 85 500 000) 30 000 000 408 000 000
tests::events_logging_works 35 000 000; -28.57% ✔️ 49 000 000 58 200 000 (40 000 000; 66 000 000) 16 000 000 196 000 000
tests::exit_handle 61 000 000; +17.31% ✔️ 52 000 000 64 290 000 (40 000 000; 77 500 000) 18 000 000 452 000 000
tests::exit_init 59 000 000; -23.87% ✔️ 77 500 000 85 040 000 (61 500 000; 92 500 000) 36 000 000 464 000 000
tests::gas_spent_precalculated 55 000 000; +5.77% ✔️ 52 000 000 60 870 000 (41 500 000; 65 500 000) 20 000 000 348 000 000
tests::gas_spent_vs_balance 276 000 000; +149.77% ❗ 110 500 000 123 730 000 (91 500 000; 132 500 000) 60 000 000 520 000 000
tests::init_message_logging_works 41 000 000; -28.07% ✔️ 57 000 000 63 780 000 (45 000 000; 71 000 000) 18 000 000 448 000 000
tests::init_wait_reply_exit_cleaned_storage 349 000 000; +198.29% ❗ 117 000 000 125 030 000 (97 000 000; 132 000 000) 70 000 000 675 000 000
tests::lazy_pages 140 000 000; +137.29% ❗ 59 000 000 64 890 000 (44 000 000; 77 500 000) 23 000 000 260 000 000
tests::mailbox_works 22 000 000; -64.23% ✔️ 61 500 000 68 710 000 (47 000 000; 78 000 000) 19 000 000 296 000 000
tests::memory_access_cases 184 000 000; +211.86% ❗ 59 000 000 70 710 000 (48 000 000; 88 000 000) 25 000 000 396 000 000
tests::messages_processing_works 220 000 000; +254.84% ❗ 62 000 000 66 130 000 (43 500 000; 79 000 000) 28 000 000 244 000 000
tests::messages_to_paused_program_skipped 180 000 000; +151.75% ❗ 71 500 000 81 900 000 (57 000 000; 95 000 000) 28 000 000 432 000 000
tests::messages_to_uninitialized_program_wait 143 000 000; +88.16% ❗ 76 000 000 84 210 000 (62 000 000; 93 000 000) 35 000 000 456 000 000
tests::no_redundant_gas_value_after_exiting 209 000 000; +234.40% ❗ 62 500 000 69 580 000 (46 000 000; 80 000 000) 17 000 000 372 000 000
tests::paused_program_keeps_id 90 000 000; +4.65% ✔️ 86 000 000 92 130 000 (67 500 000; 106 500 000) 44 000 000 288 000 000
tests::program_lifecycle_works 202 000 000; +236.67% ❗ 60 000 000 68 570 000 (46 000 000; 83 000 000) 22 000 000 280 000 000
tests::program_messages_to_paused_program_skipped 360 000 000; +211.69% ❗ 115 500 000 132 250 000 (93 000 000; 151 500 000) 48 000 000 468 000 000
tests::replies_to_paused_program_skipped 163 000 000; +121.77% ❗ 73 500 000 81 080 000 (57 500 000; 97 500 000) 29 000 000 232 000 000
tests::restrict_start_section 114 000 000; +109.17% ❗ 54 500 000 61 810 000 (43 500 000; 70 000 000) 17 000 000 296 000 000
tests::resume_program_works 330 000 000; +193.33% ❗ 112 500 000 126 380 000 (94 000 000; 144 000 000) 48 000 000 407 000 000
tests::send_message_expected_failure 116 000 000; +96.61% ❗ 59 000 000 64 910 000 (45 000 000; 73 500 000) 21 000 000 291 000 000
tests::send_message_works 114 000 000; +101.77% ❗ 56 500 000 64 140 000 (44 000 000; 76 000 000) 24 000 000 300 000 000
tests::send_reply_failure_to_claim_from_mailbox 154 000 000; +190.57% ❗ 53 000 000 61 610 000 (44 000 000; 73 500 000) 20 000 000 187 000 000
tests::send_reply_value_claiming_works 109 000 000; +101.85% ❗ 54 000 000 62 350 000 (40 000 000; 76 500 000) 15 000 000 252 000 000
tests::send_reply_works 72 000 000; +20.00% ✔️ 60 000 000 66 320 000 (43 000 000; 80 000 000) 20 000 000 320 000 000
tests::spent_gas_to_reward_block_author_works 91 000 000; +52.94% ❗ 59 500 000 65 220 000 (41 000 000; 79 000 000) 22 000 000 241 000 000
tests::submit_program_expected_failure 45 000 000; -11.76% ✔️ 51 000 000 59 790 000 (41 500 000; 77 500 000) 12 000 000 244 000 000
tests::submit_program_fails_on_duplicate_id 142 000 000; +153.57% ❗ 56 000 000 61 590 000 (40 500 000; 72 500 000) 15 000 000 208 000 000
tests::test_async_messages 1 944 000 000; +228.93% ‼️ 591 000 000 612 939 999 (552 500 000; 638 000 000) 475 000 000 1 245 000 000
tests::test_code_is_not_reset_within_program_submission 152 000 000; +204.00% ❗ 50 000 000 59 470 000 (36 500 000; 72 000 000) 17 000 000 233 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 132 000 000; +153.85% ❗ 52 000 000 61 950 000 (41 000 000; 70 000 000) 16 000 000 281 000 000
tests::test_code_submission_pass 104 000 000; +79.31% ❗ 58 000 000 64 210 000 (46 500 000; 76 000 000) 16 000 000 249 000 000
tests::test_create_program_duplicate 277 000 000; +103.68% ❗ 136 000 000 144 690 000 (108 500 000; 163 000 000) 60 000 000 456 000 000
tests::test_create_program_duplicate_in_one_execution 358 000 000; +269.07% ❗ 97 000 000 108 080 000 (77 000 000; 123 500 000) 46 000 000 436 000 000
tests::test_create_program_miscellaneous 141 000 000; -3.42% ✔️ 146 000 000 155 980 000 (117 000 000; 174 500 000) 76 000 000 396 000 000
tests::test_create_program_no_code_hash 920 000 000; +253.17% ‼️ 260 500 000 271 430 000 (208 500 000; 305 000 000) 156 000 000 681 000 000
tests::test_create_program_simple 322 000 000; +98.77% ❗ 162 000 000 165 740 000 (132 500 000; 184 500 000) 81 000 000 334 000 000
tests::test_create_program_with_exceeding_value 285 000 000; +275.00% ‼️ 76 000 000 81 220 000 (58 500 000; 97 000 000) 25 000 000 282 000 000
tests::test_create_program_with_value_lt_ed 301 000 000; +218.52% ❗ 94 500 000 106 100 000 (75 500 000; 118 000 000) 39 000 000 400 000 000
tests::test_create_program_without_gas_works 248 000 000; +211.95% ‼️ 79 500 000 83 920 000 (55 000 000; 103 500 000) 22 000 000 223 000 000
tests::test_message_processing_for_non_existing_destination 194 000 000; +228.81% ‼️ 59 000 000 64 140 000 (43 000 000; 77 500 000) 14 000 000 164 000 000
tests::test_reply_to_terminated_program 194 000 000; +147.13% ❗ 78 500 000 83 740 000 (65 000 000; 95 500 000) 30 000 000 215 000 000
tests::test_same_code_submission_fails 201 000 000; +229.51% ❗ 61 000 000 68 140 000 (48 000 000; 78 500 000) 19 000 000 223 000 000
tests::test_two_contracts_composition_works 448 000 000; +91.45% ❗ 234 000 000 245 930 000 (202 000 000; 277 500 000) 152 000 000 698 000 000
tests::uninitialized_program_should_accept_replies 230 000 000; +107.21% ❗ 111 000 000 113 210 000 (88 000 000; 134 500 000) 49 000 000 234 000 000
tests::unstoppable_block_execution_works 61 000 000; -6.15% ✔️ 65 000 000 68 990 000 (49 000 000; 84 000 000) 30 000 000 156 000 000
tests::unused_gas_released_back_works 79 000 000; +20.61% ✔️ 65 500 000 70 370 000 (50 000 000; 92 500 000) 15 000 000 176 000 000
tests::wake_messages_after_program_inited 477 000 000; +115.35% ‼️ 221 500 000 234 520 000 (190 000 000; 270 000 000) 138 000 000 465 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 159 000 000; +287.80% ‼️ 41 000 000 46 490 000 (29 000 000; 63 500 000) 8 000 000 138 000 000
tests::check_changed_pages_in_storage 47 000 000; -30.88% ✔️ 68 000 000 73 810 000 (50 500 000; 90 000 000) 24 000 000 210 000 000
tests::debug_mode_works 93 000 000; +39.85% ❗ 66 500 000 68 700 000 (52 000 000; 84 000 000) 21 000 000 168 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 82 000 000; +102.47% ❗ 40 500 000 46 190 000 (28 000 000; 58 500 000) 6 000 000 156 000 000
tests::dequeued_impl_works_manually 91 000 000; +58.26% ❗ 57 500 000 62 050 000 (40 500 000; 77 500 000) 21 000 000 177 000 000
tests::queue_processing_impl_works_manually 85 000 000; +44.07% ❗ 59 000 000 60 530 000 (45 000 000; 78 000 000) 12 000 000 128 000 000
tests::queue_works 83 000 000; +52.29% ❗ 54 500 000 58 710 000 (42 000 000; 70 500 000) 15 000 000 204 000 000
tests::sent_impl_works 150 000 000; +185.71% ‼️ 52 500 000 55 500 000 (40 500 000; 70 500 000) 9 000 000 142 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 78 000 000; +108.00% ❗ 37 500 000 42 400 000 (27 500 000; 52 500 000) 8 000 000 151 000 000
tests::custom_fee_multiplier_updated_per_block 63 000 000; +14.55% ✔️ 55 000 000 58 220 000 (38 000 000; 71 000 000) 19 000 000 155 000 000
tests::fee_rounding_error_bounded_by_multiplier 101 000 000; +88.79% ❗ 53 500 000 57 840 000 (38 500 000; 71 500 000) 18 000 000 146 000 000
tests::mq_size_affecting_fee_works 136 000 000; +151.85% ❗ 54 000 000 56 560 000 (39 000 000; 69 500 000) 13 000 000 170 000 000
tests::mq_size_not_affecting_fee_works 136 000 000; +147.27% ‼️ 55 000 000 58 810 000 (42 000 000; 72 000 000) 13 000 000 132 000 000
tests::query_info_and_fee_details_work 140 000 000; +174.51% ‼️ 51 000 000 54 830 000 (39 500 000; 70 500 000) 15 000 000 126 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 68 000 000; +76.62% ❗ 38 500 000 41 800 000 (27 500 000; 51 000 000) 8 000 000 141 000 000
tests::pause_program_twice_fails 83 000 000; +44.35% ❗ 57 500 000 58 470 000 (41 000 000; 74 000 000) 10 000 000 124 000 000
tests::pause_program_works 201 000 000; +211.63% ❗ 64 500 000 72 010 000 (50 000 000; 80 500 000) 26 000 000 217 000 000
tests::pause_terminated_program_fails 64 000 000; +19.63% ✔️ 53 500 000 56 440 000 (39 000 000; 70 500 000) 11 000 000 139 000 000
tests::pause_uninitialized_program_works 120 000 000; +76.47% ❗ 68 000 000 72 520 000 (53 000 000; 89 000 000) 19 000 000 158 000 000
tests::resume_program_twice_fails 170 000 000; +95.40% ❗ 87 000 000 93 170 000 (69 500 000; 110 000 000) 33 000 000 198 000 000
tests::resume_program_wrong_list_fails 156 000 000; +105.26% ❗ 76 000 000 80 280 000 (62 000 000; 98 000 000) 32 000 000 176 000 000
tests::resume_program_wrong_memory_fails 122 000 000; +46.11% ❗ 83 500 000 84 400 000 (65 000 000; 97 500 000) 29 000 000 167 000 000
tests::resume_uninitialized_program_works 108 000 000; +34.16% ❗ 80 500 000 86 850 000 (67 500 000; 100 500 000) 34 000 000 188 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 47 000 000; +16.05% ✔️ 40 500 000 45 500 000 (28 500 000; 55 000 000) 5 000 000 147 000 000
tests::dust_discarded_with_noop 85 000 000; +63.46% ❗ 52 000 000 60 260 000 (41 000 000; 72 500 000) 15 000 000 167 000 000
tests::external_submitter_gets_rewarded 50 000 000; -11.50% ✔️ 56 500 000 58 430 000 (41 000 000; 69 000 000) 8 000 000 170 000 000
tests::gas_properly_handled_for_trap_replies 85 000 000; +65.05% ❗ 51 500 000 59 140 000 (45 000 000; 69 000 000) 20 000 000 212 000 000
tests::ocw_double_charge 48 000 000; -11.11% ✔️ 54 000 000 59 230 000 (43 000 000; 69 500 000) 16 000 000 164 000 000
tests::ocw_interval_maintained 84 000 000; +61.54% ❗ 52 000 000 57 270 000 (40 500 000; 67 500 000) 15 000 000 240 000 000
tests::ocw_interval_stretches_for_large_wait_list 81 000 000; +43.36% ❗ 56 500 000 61 190 000 (44 000 000; 73 500 000) 16 000 000 232 000 000
tests::ocw_overlapping_prevented 56 000 000; +19.15% ✔️ 47 000 000 51 040 000 (35 500 000; 63 000 000) 11 000 000 163 000 000
tests::rent_charge_works 85 000 000; +54.55% ❗ 55 000 000 57 990 000 (41 500 000; 69 000 000) 15 000 000 188 000 000
tests::trap_reply_message_is_sent 32 000 000; -34.02% ✔️ 48 500 000 51 560 000 (34 500 000; 65 000 000) 11 000 000 167 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 243 996 504 427; +50.70% ‼️ 161 910 424 706 162 009 452 179 (161 545 795 744; 162 441 746 614) 160 060 214 591 164 166 272 559

name = Async RwLock

name current median average lower/upper quartile min max
check readers 342 804 357; +688.45% ‼️ 43 478 323 50 203 472 (40 231 618; 52 901 472) 32 119 360 132 212 390
forever lock 422 937 405; +570.29% ‼️ 63 097 560 73 038 566 (57 314 439; 81 273 128) 43 517 038 138 924 032
read while writing 861 357 681; +653.32% ‼️ 114 341 870 126 349 770 (104 299 957; 144 618 894) 82 172 294 202 813 686
rwlock wide 1 774 833 820; +632.72% ‼️ 242 225 411 235 412 617 (212 023 856; 254 037 224) 166 985 691 299 455 235
write while reading 1 025 060 343; +613.45% ‼️ 143 676 384 148 558 865 (126 414 156; 170 449 517) 93 327 347 217 857 357

name = Async init

name current median average lower/upper quartile min max
approved pong 17 872 796 401; +5.16% ‼️ 16 996 204 013 17 001 130 970 (16 878 328 066; 17 112 698 226) 16 530 296 321 17 546 740 437

name = Async-await

name current median average lower/upper quartile min max
normal 368 493 989; +380.00% ‼️ 76 769 336 75 119 453 (66 701 412; 83 215 321) 33 587 295 107 441 595
panic 426 789 929; +677.27% ‼️ 54 909 109 63 886 643 (46 268 397; 81 956 064) 32 810 775 112 367 114

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 666 882 446; +395.85% ‼️ 134 493 964 124 331 253 (106 091 416; 142 205 852) 67 518 116 167 433 988

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 17 157 530 444; +82.39% ‼️ 9 406 959 568 9 407 296 555 (9 284 042 798; 9 545 963 471) 8 931 446 959 9 761 869 767
2 of 3; bob & eve 15 829 854 034; +68.83% ‼️ 9 376 470 210 9 389 847 383 (9 263 447 718; 9 492 187 016) 9 066 369 995 9 927 494 134
2 of 3; eve & alice 16 910 750 466; +80.76% ‼️ 9 355 589 199 9 377 069 634 (9 252 890 375; 9 487 604 436) 9 027 120 575 9 823 224 997
2 of 3; eve doesn't answer, alice replies with incorrect payload 14 540 041 834; +57.83% ‼️ 9 212 704 251 9 223 298 666 (9 096 892 296; 9 344 730 425) 8 807 757 844 9 639 310 619
2 of 3; no replies 9 987 360 779; +10.54% ‼️ 9 034 864 443 9 042 139 421 (8 928 768 344; 9 149 357 751) 8 637 451 241 9 576 043 232
Single signatory & zero threshold 14 353 022 194; +54.94% ‼️ 9 263 877 358 9 264 588 476 (9 140 428 775; 9 372 373 135) 8 915 580 717 9 852 789 817
Three signatories & redundand threshold 16 841 841 131; +77.03% ‼️ 9 513 802 282 9 507 763 274 (9 367 144 710; 9 642 668 048) 9 056 699 337 9 918 060 176
Three signatories; Bob replies with incorrect signature 15 008 220 164; +61.69% ‼️ 9 281 813 711 9 266 468 538 (9 144 821 153; 9 358 119 725) 8 847 448 134 9 655 434 237
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 423 064 332; +55.80% ‼️ 9 257 211 862 9 242 199 451 (9 140 815 873; 9 351 825 701) 8 848 527 886 9 670 940 302

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 306 953 432; +7.12% ‼️ 4 954 360 228 4 930 489 941 (4 812 992 819; 5 081 024 861) 4 380 240 639 5 288 291 764
correct signature but for another message 6 790 116 595; +32.29% ‼️ 5 132 629 408 5 091 365 689 (4 968 528 171; 5 227 885 814) 4 613 448 752 5 428 349 228
no reply 5 356 782 676; +8.69% ‼️ 4 928 398 977 4 902 707 450 (4 759 879 253; 5 070 603 691) 4 409 581 785 5 254 093 296
signed message 6 751 946 058; +30.69% ‼️ 5 166 535 242 5 120 827 531 (5 006 276 710; 5 291 362 523) 4 506 104 077 5 471 140 826

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 490 827 674; +464.76% ‼️ 86 908 383 86 175 616 (76 460 909; 98 584 417) 45 768 976 118 859 443

name = Decoder

name current median average lower/upper quartile min max
decoder 337 976 846; +446.38% ‼️ 61 857 656 55 516 163 (32 727 045; 73 451 198) 25 037 294 97 868 602

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 141 827 792; +579.49% ‼️ 315 212 600 303 686 726 (266 808 513; 340 339 413) 197 367 987 405 410 079
join 1 491 011 490; +532.92% ‼️ 235 578 155 251 584 225 (219 410 561; 271 662 257) 181 505 787 376 453 460
select 1 505 851 936; +523.48% ‼️ 241 522 681 255 082 783 (215 955 887; 289 192 334) 168 703 453 379 380 958

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 856 347 969; +653.80% ‼️ 246 266 640 236 507 589 (202 054 077; 265 815 425) 161 050 160 299 053 848

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 305 617 312; +256.73% ‼️ 85 672 908 85 920 472 (75 948 811; 96 240 545) 47 865 644 114 583 598

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 383 291 239; +499.34% ‼️ 63 952 412 59 548 061 (28 949 991; 83 616 577) 17 796 183 109 959 545

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 788 809 148; +5.24% ‼️ 15 953 425 697 15 974 554 496 (15 853 184 574; 16 073 660 761) 15 534 321 215 16 480 580 336

name = Multiping

name current median average lower/upper quartile min max
multiping 325 159 089; +384.62% ‼️ 67 096 347 62 562 686 (42 622 429; 79 320 752) 23 980 833 99 263 912

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 223 507 237; +586.64% ‼️ 32 550 719 41 484 142 (24 835 569; 61 200 519) 16 473 728 85 877 619
ping-pong wgas 408 525 264; +786.96% ‼️ 46 059 188 51 819 009 (38 895 985; 57 827 175) 28 795 384 102 243 674

name = Program_id test

name current median average lower/upper quartile min max
program_id 251 125 667; +291.07% ‼️ 64 215 631 63 096 076 (55 309 094; 70 321 806) 24 837 034 92 236 276

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 360 637 528; +529.21% ‼️ 57 316 169 65 819 728 (43 591 687; 93 327 516) 31 713 686 124 519 186
state-saving 305 187 382; +557.81% ‼️ 46 394 177 52 859 685 (41 006 021; 55 725 970) 32 236 018 105 283 755

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 336 707 740; +392.76% ‼️ 68 330 513 65 495 936 (57 124 016; 76 408 332) 25 716 079 96 721 354
Try to re-init existing program 535 008 185; +522.30% ‼️ 85 973 393 82 241 977 (59 701 808; 101 820 450) 42 549 707 125 945 332

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 139 004 828; +528.24% ‼️ 22 126 151 28 379 325 (16 062 933; 41 223 714) 11 993 198 60 193 406

name = Wait test

name current median average lower/upper quartile min max
wait 431 374 068; +583.54% ‼️ 63 108 413 70 964 726 (52 956 977; 95 570 859) 37 491 218 115 570 730

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 884 133 627; +222.47% ‼️ 274 177 358 264 915 149 (233 124 543; 298 061 744) 162 057 191 371 566 690

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 538 491 964; +459.01% ‼️ 96 329 164 94 599 591 (82 991 972; 103 564 539) 72 004 037 133 449 073

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 363 950 410; +5.28% ❗ 8 894 372 916 8 898 596 110 (8 747 041 943; 9 031 296 136) 8 534 357 403 9 452 015 756

name = gui test

name current median average lower/upper quartile min max
gui 11 980 759 615; +4.76% ‼️ 11 436 126 676 11 453 762 190 (11 345 505 830; 11 592 987 293) 11 118 993 971 11 956 136 145
9b71770
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 86 645 000 000; +1679.34% ❗ 4 869 500 000 6 259 230 000 (4 754 000 000; 5 021 000 000) 4 449 000 000 141 045 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 30 000 000; +33.33% ❗ 22 500 000 23 270 000 (16 000 000; 28 500 000) 5 000 000 56 000 000
property_tests::test_empty_tree 6 318 000 000; +177.65% ‼️ 2 275 500 000 2 276 790 000 (2 248 000 000; 2 309 000 000) 2 107 000 000 2 390 000 000
property_tests::test_tree_properties 10 545 000 000; +123.67% ‼️ 4 714 500 000 4 727 370 000 (4 582 000 000; 4 863 500 000) 4 264 000 000 5 241 000 000
tests::all_keys_are_cleared 32 000 000; +10.34% ✔️ 29 000 000 30 080 000 (23 000 000; 35 000 000) 8 000 000 54 000 000
tests::gas_free_after_consumed 55 000 000; +71.88% ❗ 32 000 000 31 850 000 (27 000 000; 37 500 000) 10 000 000 60 000 000
tests::limit_vs_origin 32 000 000; +14.29% ✔️ 28 000 000 30 620 000 (22 500 000; 37 500 000) 8 000 000 66 000 000
tests::long_chain 21 000 000; -31.15% ✔️ 30 500 000 30 440 000 (23 000 000; 36 000 000) 9 000 000 72 000 000
tests::simple_value_tree 22 000 000; -37.14% ✔️ 35 000 000 34 450 000 (28 000 000; 41 500 000) 12 000 000 60 000 000
tests::split_with_no_value 24 000 000; -29.41% ✔️ 34 000 000 35 590 000 (26 000 000; 44 000 000) 9 000 000 72 000 000
tests::splits_fail 25 000 000; -26.47% ✔️ 34 000 000 33 750 000 (23 500 000; 40 500 000) 11 000 000 75 000 000
tests::sub_nodes_tree 35 000 000; +6.06% ✔️ 33 000 000 34 160 000 (27 000 000; 42 000 000) 12 000 000 80 000 000
tests::sub_nodes_tree_with_spends 35 000 000; +9.38% ✔️ 32 000 000 32 770 000 (24 000 000; 40 000 000) 11 000 000 77 000 000
tests::subtree_gas_limit_remains_intact 49 000 000; +53.12% ❗ 32 000 000 34 590 000 (24 500 000; 42 000 000) 8 000 000 94 000 000
tests::test_consume_procedure 31 000 000; -3.12% ✔️ 32 000 000 34 890 000 (24 000 000; 40 500 000) 11 000 000 85 000 000
tests::value_tree_known_errors 54 000 000; +86.21% ❗ 29 000 000 34 120 000 (23 000 000; 41 000 000) 9 000 000 90 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 38 000 000; +65.22% ❗ 23 000 000 27 090 000 (16 000 000; 32 000 000) 7 000 000 86 000 000
schedule::test::print_test_schedule 21 000 000; -16.00% ✔️ 25 000 000 27 260 000 (17 000 000; 32 000 000) 7 000 000 93 000 000
tests::call_forbidden_function 55 000 000; +37.50% ❗ 40 000 000 44 610 000 (31 000 000; 54 000 000) 12 000 000 136 000 000
tests::cascading_messages_with_value_do_not_overcharge 393 000 000; +60.41% ❗ 245 000 000 250 240 000 (217 000 000; 276 500 000) 162 000 000 428 000 000
tests::defer_program_initialization 163 000 000; +60.59% ❗ 101 500 000 106 170 000 (84 000 000; 125 000 000) 47 000 000 220 000 000
tests::distributor_distribute 244 000 000; +169.61% ‼️ 90 500 000 96 130 000 (73 000 000; 118 500 000) 44 000 000 203 000 000
tests::distributor_initialize 334 000 000; +281.71% ‼️ 87 500 000 89 360 000 (67 000 000; 103 000 000) 40 000 000 187 000 000
tests::events_logging_works 150 000 000; +158.62% ‼️ 58 000 000 60 170 000 (45 000 000; 74 500 000) 22 000 000 126 000 000
tests::exit_handle 98 000 000; +81.48% ❗ 54 000 000 57 960 000 (43 500 000; 73 000 000) 15 000 000 121 000 000
tests::exit_init 99 000 000; +23.75% ❗ 80 000 000 80 670 000 (58 000 000; 97 500 000) 28 000 000 156 000 000
tests::gas_spent_precalculated 62 000 000; -1.59% ✔️ 63 000 000 63 320 000 (46 000 000; 77 000 000) 15 000 000 147 000 000
tests::gas_spent_vs_balance 467 000 000; +203.25% ‼️ 154 000 000 158 360 000 (133 500 000; 190 000 000) 84 000 000 258 000 000
tests::init_message_logging_works 57 000 000; -3.39% ✔️ 59 000 000 62 470 000 (46 000 000; 74 000 000) 21 000 000 138 000 000
tests::init_wait_reply_exit_cleaned_storage 229 000 000; +96.57% ❗ 116 500 000 120 360 000 (94 000 000; 143 500 000) 56 000 000 248 000 000
tests::lazy_pages 77 000 000; +28.33% ✔️ 60 000 000 65 720 000 (46 000 000; 80 000 000) 19 000 000 138 000 000
tests::mailbox_works 146 000 000; +139.34% ‼️ 61 000 000 63 210 000 (46 000 000; 78 000 000) 20 000 000 125 000 000
tests::memory_access_cases 150 000 000; +136.22% ‼️ 63 500 000 67 190 000 (52 000 000; 85 000 000) 20 000 000 132 000 000
tests::messages_processing_works 148 000 000; +152.99% ‼️ 58 500 000 60 710 000 (46 000 000; 71 500 000) 23 000 000 110 000 000
tests::messages_to_paused_program_skipped 125 000 000; +85.19% ❗ 67 500 000 70 920 000 (53 000 000; 81 500 000) 28 000 000 137 000 000
tests::messages_to_uninitialized_program_wait 222 000 000; +206.21% ‼️ 72 500 000 75 410 000 (56 500 000; 91 000 000) 27 000 000 136 000 000
tests::no_redundant_gas_value_after_exiting 139 000 000; +124.19% ‼️ 62 000 000 64 710 000 (43 500 000; 79 500 000) 19 000 000 138 000 000
tests::paused_program_keeps_id 238 000 000; +195.65% ‼️ 80 500 000 87 550 000 (63 000 000; 109 000 000) 32 000 000 197 000 000
tests::program_lifecycle_works 77 000 000; +40.00% ❗ 55 000 000 57 850 000 (44 500 000; 71 500 000) 18 000 000 144 000 000
tests::program_messages_to_paused_program_skipped 472 000 000; +333.03% ‼️ 109 000 000 115 220 000 (92 000 000; 134 500 000) 59 000 000 187 000 000
tests::replies_to_paused_program_skipped 157 000 000; +119.58% ❗ 71 500 000 74 980 000 (55 000 000; 88 000 000) 33 000 000 179 000 000
tests::restrict_start_section 200 000 000; +288.35% ‼️ 51 500 000 54 710 000 (37 000 000; 67 000 000) 12 000 000 138 000 000
tests::resume_program_works 223 000 000; +98.22% ‼️ 112 500 000 115 980 000 (91 000 000; 133 500 000) 67 000 000 219 000 000
tests::send_message_expected_failure 236 000 000; +314.04% ‼️ 57 000 000 59 060 000 (42 500 000; 72 500 000) 21 000 000 107 000 000
tests::send_message_works 193 000 000; +267.62% ‼️ 52 500 000 59 680 000 (40 000 000; 71 500 000) 12 000 000 147 000 000
tests::send_reply_failure_to_claim_from_mailbox 204 000 000; +281.31% ‼️ 53 500 000 58 070 000 (40 500 000; 73 000 000) 18 000 000 132 000 000
tests::send_reply_value_claiming_works 117 000 000; +95.00% ❗ 60 000 000 62 890 000 (49 000 000; 76 000 000) 19 000 000 163 000 000
tests::send_reply_works 269 000 000; +371.93% ‼️ 57 000 000 59 920 000 (40 500 000; 75 000 000) 18 000 000 152 000 000
tests::spent_gas_to_reward_block_author_works 36 000 000; -37.39% ✔️ 57 500 000 59 140 000 (42 000 000; 71 500 000) 12 000 000 114 000 000
tests::submit_program_expected_failure 160 000 000; +175.86% ‼️ 58 000 000 60 260 000 (41 500 000; 77 500 000) 8 000 000 155 000 000
tests::submit_program_fails_on_duplicate_id 139 000 000; +148.21% ‼️ 56 000 000 58 070 000 (38 500 000; 72 000 000) 17 000 000 132 000 000
tests::test_async_messages 1 542 000 000; +164.95% ‼️ 582 000 000 585 830 000 (544 500 000; 616 000 000) 474 000 000 733 000 000
tests::test_code_is_not_reset_within_program_submission 261 000 000; +401.92% ‼️ 52 000 000 55 460 000 (40 500 000; 68 000 000) 14 000 000 113 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 134 000 000; +170.71% ‼️ 49 500 000 55 430 000 (36 000 000; 72 000 000) 18 000 000 120 000 000
tests::test_code_submission_pass 149 000 000; +175.93% ‼️ 54 000 000 56 750 000 (38 000 000; 71 500 000) 11 000 000 146 000 000
tests::test_create_program_duplicate 498 000 000; +268.89% ‼️ 135 000 000 140 000 000 (114 000 000; 169 000 000) 71 000 000 235 000 000
tests::test_create_program_duplicate_in_one_execution 370 000 000; +285.42% ‼️ 96 000 000 103 940 000 (79 000 000; 120 500 000) 41 000 000 245 000 000
tests::test_create_program_miscellaneous 426 000 000; +179.34% ‼️ 152 500 000 154 580 000 (118 000 000; 179 000 000) 79 000 000 331 000 000
tests::test_create_program_no_code_hash 1 118 000 000; +329.17% ‼️ 260 500 000 261 560 000 (227 000 000; 290 500 000) 155 000 000 382 000 000
tests::test_create_program_simple 215 000 000; +36.08% ❗ 158 000 000 159 720 000 (133 000 000; 182 500 000) 84 000 000 277 000 000
tests::test_create_program_with_exceeding_value 99 000 000; +32.00% ❗ 75 000 000 76 440 000 (62 500 000; 89 500 000) 31 000 000 170 000 000
tests::test_create_program_with_value_lt_ed 92 000 000; -1.08% ✔️ 93 000 000 99 360 000 (76 500 000; 117 500 000) 45 000 000 201 000 000
tests::test_create_program_without_gas_works 62 000 000; -20.00% ✔️ 77 500 000 82 150 000 (61 000 000; 104 500 000) 29 000 000 170 000 000
tests::test_message_processing_for_non_existing_destination 178 000 000; +196.67% ‼️ 60 000 000 62 320 000 (47 000 000; 74 000 000) 16 000 000 151 000 000
tests::test_reply_to_terminated_program 175 000 000; +128.76% ‼️ 76 500 000 78 890 000 (56 500 000; 95 000 000) 27 000 000 161 000 000
tests::test_same_code_submission_fails 112 000 000; +100.00% ❗ 56 000 000 60 050 000 (42 500 000; 77 000 000) 14 000 000 122 000 000
tests::test_two_contracts_composition_works 543 000 000; +137.64% ‼️ 228 500 000 228 930 000 (202 500 000; 250 500 000) 127 000 000 375 000 000
tests::uninitialized_program_should_accept_replies 372 000 000; +261.17% ‼️ 103 000 000 108 400 000 (83 000 000; 133 000 000) 45 000 000 205 000 000
tests::unstoppable_block_execution_works 231 000 000; +225.35% ‼️ 71 000 000 69 870 000 (53 000 000; 85 500 000) 20 000 000 138 000 000
tests::unused_gas_released_back_works 57 000 000; -0.87% ✔️ 57 500 000 61 470 000 (45 000 000; 76 500 000) 18 000 000 160 000 000
tests::wake_messages_after_program_inited 457 000 000; +122.38% ‼️ 205 500 000 211 160 000 (177 000 000; 249 500 000) 124 000 000 327 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 90 000 000; +130.77% ❗ 39 000 000 42 010 000 (26 500 000; 52 500 000) 7 000 000 110 000 000
tests::check_changed_pages_in_storage 64 000 000; +14.29% ✔️ 56 000 000 59 570 000 (45 000 000; 72 500 000) 20 000 000 131 000 000
tests::debug_mode_works 75 000 000; +16.28% ✔️ 64 500 000 64 470 000 (45 500 000; 78 000 000) 21 000 000 148 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 46 000 000; +27.78% ✔️ 36 000 000 39 690 000 (23 500 000; 53 000 000) 5 000 000 95 000 000
tests::dequeued_impl_works_manually 158 000 000; +216.00% ‼️ 50 000 000 51 140 000 (37 000 000; 65 500 000) 9 000 000 109 000 000
tests::queue_processing_impl_works_manually 130 000 000; +152.43% ❗ 51 500 000 55 150 000 (41 000 000; 65 000 000) 19 000 000 139 000 000
tests::queue_works 182 000 000; +246.67% ‼️ 52 500 000 55 940 000 (37 500 000; 68 000 000) 10 000 000 139 000 000
tests::sent_impl_works 92 000 000; +82.18% ❗ 50 500 000 51 880 000 (36 500 000; 64 000 000) 14 000 000 120 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 68 000 000; +94.29% ❗ 35 000 000 37 440 000 (25 000 000; 49 500 000) 4 000 000 105 000 000
tests::custom_fee_multiplier_updated_per_block 50 000 000; +6.38% ✔️ 47 000 000 51 840 000 (31 000 000; 66 000 000) 13 000 000 119 000 000
tests::fee_rounding_error_bounded_by_multiplier 72 000 000; +41.18% ❗ 51 000 000 53 340 000 (38 000 000; 65 000 000) 16 000 000 110 000 000
tests::mq_size_affecting_fee_works 92 000 000; +91.67% ❗ 48 000 000 49 620 000 (35 500 000; 63 000 000) 12 000 000 102 000 000
tests::mq_size_not_affecting_fee_works 87 000 000; +75.76% ❗ 49 500 000 52 570 000 (38 000 000; 69 500 000) 13 000 000 104 000 000
tests::query_info_and_fee_details_work 85 000 000; +63.46% ❗ 52 000 000 51 870 000 (37 000 000; 67 000 000) 9 000 000 122 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 63 000 000; +90.91% ❗ 33 000 000 38 900 000 (21 500 000; 56 000 000) 4 000 000 113 000 000
tests::pause_program_twice_fails 50 000 000; +1.01% ✔️ 49 500 000 50 660 000 (37 500 000; 65 000 000) 9 000 000 96 000 000
tests::pause_program_works 143 000 000; +123.44% ‼️ 64 000 000 68 380 000 (50 500 000; 84 000 000) 20 000 000 122 000 000
tests::pause_terminated_program_fails 76 000 000; +46.15% ❗ 52 000 000 54 780 000 (39 000 000; 65 000 000) 13 000 000 125 000 000
tests::pause_uninitialized_program_works 123 000 000; +87.79% ❗ 65 500 000 68 580 000 (54 000 000; 80 500 000) 24 000 000 124 000 000
tests::resume_program_twice_fails 108 000 000; +27.81% ❗ 84 500 000 88 510 000 (70 000 000; 104 500 000) 38 000 000 178 000 000
tests::resume_program_wrong_list_fails 147 000 000; +93.42% ‼️ 76 000 000 75 170 000 (59 000 000; 88 000 000) 27 000 000 133 000 000
tests::resume_program_wrong_memory_fails 137 000 000; +90.28% ‼️ 72 000 000 70 680 000 (55 500 000; 86 000 000) 25 000 000 119 000 000
tests::resume_uninitialized_program_works 111 000 000; +48.00% ❗ 75 000 000 77 200 000 (62 000 000; 91 000 000) 29 000 000 142 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 84 000 000; +147.06% ❗ 34 000 000 35 950 000 (26 000 000; 47 000 000) 5 000 000 88 000 000
tests::dust_discarded_with_noop 163 000 000; +250.54% ‼️ 46 500 000 48 230 000 (35 500 000; 61 000 000) 12 000 000 98 000 000
tests::external_submitter_gets_rewarded 160 000 000; +240.43% ‼️ 47 000 000 48 020 000 (37 000 000; 60 000 000) 13 000 000 86 000 000
tests::gas_properly_handled_for_trap_replies 52 000 000; +11.83% ✔️ 46 500 000 49 460 000 (35 500 000; 61 000 000) 14 000 000 118 000 000
tests::ocw_double_charge 216 000 000; +385.39% ‼️ 44 500 000 48 670 000 (35 000 000; 60 000 000) 7 000 000 123 000 000
tests::ocw_interval_maintained 128 000 000; +178.26% ‼️ 46 000 000 47 120 000 (34 500 000; 57 500 000) 8 000 000 115 000 000
tests::ocw_interval_stretches_for_large_wait_list 101 000 000; +114.89% ❗ 47 000 000 45 230 000 (33 000 000; 55 500 000) 12 000 000 107 000 000
tests::ocw_overlapping_prevented 92 000 000; +116.47% ❗ 42 500 000 45 530 000 (30 500 000; 57 000 000) 11 000 000 113 000 000
tests::rent_charge_works 135 000 000; +206.82% ‼️ 44 000 000 45 630 000 (31 500 000; 57 000 000) 12 000 000 118 000 000
tests::trap_reply_message_is_sent 66 000 000; +53.49% ❗ 43 000 000 46 580 000 (35 000 000; 54 500 000) 7 000 000 113 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 222 960 394 425; +37.79% ‼️ 161 809 661 475 161 776 076 358 (161 216 973 647; 162 333 374 188) 160 061 608 603 164 240 521 540

name = Async RwLock

name current median average lower/upper quartile min max
check readers 262 383 816; +470.85% ‼️ 45 963 411 50 473 224 (41 201 170; 53 662 592) 30 794 439 126 374 608
forever lock 336 878 266; +429.75% ‼️ 63 592 471 71 507 983 (56 532 825; 76 807 845) 38 805 080 150 239 252
read while writing 764 396 383; +567.70% ‼️ 114 481 564 123 944 607 (102 374 144; 137 482 571) 75 142 685 191 641 715
rwlock wide 1 434 642 071; +492.41% ‼️ 242 169 437 235 771 524 (220 678 369; 252 767 674) 163 718 632 304 328 627
write while reading 988 760 862; +628.92% ‼️ 135 646 458 145 102 286 (120 974 010; 164 018 411) 104 351 356 211 099 287

name = Async init

name current median average lower/upper quartile min max
approved pong 17 419 012 466; +2.52% ‼️ 16 990 395 065 17 005 769 265 (16 887 988 999; 17 114 616 839) 16 687 526 615 17 369 955 316

name = Async-await

name current median average lower/upper quartile min max
normal 395 792 270; +420.23% ‼️ 76 079 974 75 102 558 (68 373 856; 82 689 489) 36 795 476 99 836 220
panic 411 742 130; +657.02% ‼️ 54 389 512 62 400 994 (44 532 285; 81 195 539) 32 265 138 100 799 072

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 694 495 563; +427.61% ‼️ 131 631 025 124 607 081 (106 864 384; 144 975 714) 64 809 415 159 909 199

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 15 832 908 326; +69.26% ‼️ 9 354 268 337 9 355 765 313 (9 214 101 330; 9 467 061 604) 8 962 995 783 9 839 634 703
2 of 3; bob & eve 12 826 561 131; +36.43% ‼️ 9 401 368 658 9 394 916 170 (9 272 014 317; 9 513 240 293) 9 047 916 168 9 770 648 223
2 of 3; eve & alice 15 695 025 587; +67.99% ‼️ 9 342 581 621 9 360 467 451 (9 201 227 049; 9 485 185 554) 8 904 884 340 9 760 628 499
2 of 3; eve doesn't answer, alice replies with incorrect payload 13 616 202 693; +46.68% ‼️ 9 283 164 849 9 276 598 295 (9 158 533 894; 9 401 587 741) 8 866 027 561 9 760 458 509
2 of 3; no replies 9 395 040 657; +3.64% ❗ 9 064 982 702 9 050 142 149 (8 914 430 977; 9 191 314 348) 8 585 954 558 9 589 902 304
Single signatory & zero threshold 9 648 453 494; +4.68% ❗ 9 216 756 433 9 239 257 516 (9 121 634 350; 9 342 036 867) 8 806 209 240 9 650 645 958
Three signatories & redundand threshold 16 160 484 961; +71.44% ‼️ 9 426 580 923 9 439 229 588 (9 338 587 864; 9 530 731 189) 9 089 838 733 9 953 725 141
Three signatories; Bob replies with incorrect signature 13 977 300 898; +51.22% ‼️ 9 242 760 765 9 232 444 651 (9 095 390 631; 9 361 336 398) 8 876 439 655 9 595 810 425
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 13 650 194 775; +48.46% ‼️ 9 194 727 277 9 217 770 454 (9 050 503 543; 9 369 057 235) 8 775 050 654 9 615 740 952

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 342 458 627; +8.21% ‼️ 4 937 308 158 4 905 419 894 (4 792 465 750; 5 042 275 599) 4 407 956 206 5 254 040 620
correct signature but for another message 5 670 539 498; +11.39% ‼️ 5 090 857 293 5 071 053 352 (4 943 921 329; 5 207 251 509) 4 583 358 834 5 454 520 234
no reply 5 111 470 269; +4.29% ❗ 4 901 402 251 4 889 382 150 (4 753 361 640; 5 043 421 030) 4 388 073 639 5 261 144 550
signed message 5 515 957 746; +9.55% ‼️ 5 035 241 177 5 074 477 756 (4 930 545 033; 5 261 900 646) 4 639 202 557 5 480 905 015

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 345 078 117; +304.14% ‼️ 85 386 203 86 062 420 (76 880 363; 98 754 449) 40 484 307 134 726 976

name = Decoder

name current median average lower/upper quartile min max
decoder 230 515 252; +275.06% ‼️ 61 460 828 54 702 852 (34 485 343; 69 745 797) 21 270 313 90 795 176

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 709 164 272; +439.94% ‼️ 316 547 007 311 301 681 (275 142 763; 344 880 951) 203 187 124 395 985 062
join 1 169 947 430; +377.80% ‼️ 244 860 104 254 495 692 (223 336 533; 281 325 227) 180 564 540 385 842 409
select 1 357 532 911; +450.73% ‼️ 246 495 728 257 800 698 (224 316 074; 289 883 529) 179 501 981 366 794 243

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 548 129 610; +519.48% ‼️ 249 908 623 241 415 253 (205 147 578; 269 795 840) 167 742 102 323 183 587

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 328 704 074; +292.62% ‼️ 83 721 454 84 469 219 (75 086 277; 95 679 812) 44 223 528 110 070 037

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 371 108 696; +387.35% ‼️ 76 148 673 65 852 458 (35 624 881; 90 969 825) 22 483 065 110 893 396

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 611 435 575; +4.17% ‼️ 15 946 603 885 15 969 743 949 (15 855 027 263; 16 088 986 820) 15 591 683 911 16 451 030 126

name = Multiping

name current median average lower/upper quartile min max
multiping 383 229 340; +448.07% ‼️ 69 923 302 63 920 790 (46 483 610; 77 699 996) 21 922 358 98 134 048

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 219 218 316; +492.09% ‼️ 37 024 753 45 055 159 (25 795 361; 65 234 948) 17 942 694 87 063 819
ping-pong wgas 404 220 715; +790.87% ‼️ 45 373 692 53 464 337 (39 540 935; 58 517 670) 27 297 502 112 450 071

name = Program_id test

name current median average lower/upper quartile min max
program_id 235 586 442; +330.67% ‼️ 54 702 389 48 420 859 (26 902 933; 67 957 462) 19 047 147 83 690 678

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 451 080 102; +786.89% ‼️ 50 861 162 61 896 331 (41 989 032; 84 297 804) 32 059 287 107 160 645
state-saving 469 604 240; +940.66% ‼️ 45 125 532 49 988 238 (38 999 233; 53 011 281) 30 756 930 99 601 962

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 241 936 535; +251.63% ‼️ 68 804 052 67 406 789 (61 677 765; 76 733 004) 25 627 539 93 095 091
Try to re-init existing program 389 246 791; +397.77% ‼️ 78 198 244 77 584 173 (55 325 450; 100 250 495) 35 847 618 117 339 745

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 171 466 014; +762.98% ‼️ 19 869 104 27 053 208 (16 863 728; 31 392 154) 12 572 119 61 524 829

name = Wait test

name current median average lower/upper quartile min max
wait 506 781 833; +773.04% ‼️ 58 048 128 63 969 025 (51 372 843; 67 689 506) 39 145 872 117 983 070

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 812 114 154; +226.36% ‼️ 248 842 508 247 590 840 (214 452 310; 278 247 581) 152 066 133 353 468 631

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 539 706 211; +463.57% ‼️ 95 765 031 94 605 745 (85 390 587; 103 961 265) 66 441 186 123 176 759

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 026 349 619; +1.20% ✔️ 8 919 313 502 8 936 684 353 (8 788 718 756; 9 063 750 655) 8 537 338 795 9 346 439 499

name = gui test

name current median average lower/upper quartile min max
gui 11 872 990 216; +3.95% ❗ 11 421 591 045 11 447 640 674 (11 364 760 561; 11 554 811 089) 11 076 626 220 11 890 362 435
8350ae8
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 141 225 000 000; +2738.69% ‼️ 4 975 000 000 6 218 890 000 (4 833 500 000; 5 169 500 000) 4 521 000 000 127 313 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 190 000 000; +590.91% ‼️ 27 500 000 29 860 000 (21 500 000; 35 500 000) 6 000 000 82 000 000
property_tests::test_empty_tree 7 345 000 000; +231.60% ‼️ 2 215 000 000 2 215 569 999 (2 180 000 000; 2 253 500 000) 2 035 000 000 2 353 000 000
property_tests::test_tree_properties 9 372 000 000; +103.61% ‼️ 4 603 000 000 4 633 909 999 (4 467 500 000; 4 803 000 000) 4 083 999 999 5 203 000 000
tests::all_keys_are_cleared 69 000 000; +35.29% ❗ 51 000 000 53 980 000 (39 000 000; 67 000 000) 13 000 000 146 000 000
tests::gas_free_after_consumed 87 000 000; +79.38% ❗ 48 500 000 49 550 000 (32 000 000; 62 500 000) 15 000 000 125 000 000
tests::limit_vs_origin 152 000 000; +207.07% ‼️ 49 500 000 51 860 000 (40 000 000; 62 000 000) 14 000 000 106 000 000
tests::long_chain 46 000 000; -2.13% ✔️ 47 000 000 51 060 000 (34 500 000; 65 000 000) 13 000 000 119 000 000
tests::simple_value_tree 110 000 000; +134.04% ‼️ 47 000 000 50 140 000 (34 000 000; 62 000 000) 16 000 000 105 000 000
tests::split_with_no_value 90 000 000; +87.50% ❗ 48 000 000 52 260 000 (37 000 000; 63 000 000) 12 000 000 151 000 000
tests::splits_fail 136 000 000; +151.85% ‼️ 54 000 000 55 760 000 (36 500 000; 67 500 000) 15 000 000 134 000 000
tests::sub_nodes_tree 43 000 000; -11.34% ✔️ 48 500 000 51 130 000 (35 000 000; 61 500 000) 10 000 000 134 000 000
tests::sub_nodes_tree_with_spends 87 000 000; +81.25% ❗ 48 000 000 52 280 000 (35 000 000; 64 000 000) 14 000 000 142 000 000
tests::subtree_gas_limit_remains_intact 85 000 000; +63.46% ❗ 52 000 000 55 970 000 (39 000 000; 73 000 000) 12 000 000 134 000 000
tests::test_consume_procedure 97 000 000; +88.35% ❗ 51 500 000 56 150 000 (38 500 000; 70 000 000) 13 000 000 168 000 000
tests::value_tree_known_errors 52 000 000; -2.80% ✔️ 53 500 000 56 290 000 (38 000 000; 71 500 000) 15 000 000 126 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 51 000 000; +37.84% ❗ 37 000 000 40 680 000 (25 000 000; 50 000 000) 10 000 000 122 000 000
schedule::test::print_test_schedule 118 000 000; +227.78% ‼️ 36 000 000 39 490 000 (20 500 000; 53 500 000) 7 000 000 90 000 000
tests::call_forbidden_function 38 000 000; -32.74% ✔️ 56 500 000 61 270 000 (43 000 000; 78 500 000) 14 000 000 123 000 000
tests::cascading_messages_with_value_do_not_overcharge 1 254 000 000; +355.17% ‼️ 275 500 000 280 710 000 (236 500 000; 315 000 000) 158 000 000 460 000 000
tests::defer_program_initialization 240 000 000; +92.00% ‼️ 125 000 000 130 310 000 (102 000 000; 152 500 000) 59 000 000 229 000 000
tests::distributor_distribute 138 000 000; +28.97% ❗ 107 000 000 114 640 000 (88 500 000; 131 000 000) 55 000 000 264 000 000
tests::distributor_initialize 1 147 000 000; +1153.55% ‼️ 91 500 000 96 100 000 (72 000 000; 114 500 000) 37 000 000 184 000 000
tests::events_logging_works 1 083 000 000; +1553.44% ‼️ 65 500 000 66 080 000 (48 000 000; 81 000 000) 23 000 000 125 000 000
tests::exit_handle 1 006 000 000; +1337.14% ‼️ 70 000 000 70 930 000 (53 000 000; 84 500 000) 19 000 000 154 000 000
tests::exit_init 94 000 000; +17.50% ✔️ 80 000 000 87 580 000 (65 500 000; 101 500 000) 31 000 000 215 000 000
tests::gas_spent_precalculated 153 000 000; +125.00% ❗ 68 000 000 68 140 000 (50 500 000; 79 000 000) 24 000 000 164 000 000
tests::gas_spent_vs_balance 932 000 000; +446.63% ‼️ 170 500 000 174 270 000 (141 000 000; 206 000 000) 79 000 000 287 000 000
tests::init_message_logging_works 68 000 000; +7.94% ✔️ 63 000 000 65 040 000 (47 000 000; 82 500 000) 19 000 000 131 000 000
tests::init_wait_reply_exit_cleaned_storage 504 000 000; +293.75% ‼️ 128 000 000 130 890 000 (102 000 000; 158 000 000) 49 000 000 298 000 000
tests::lazy_pages 129 000 000; +98.46% ❗ 65 000 000 69 120 000 (48 500 000; 86 000 000) 24 000 000 156 000 000
tests::mailbox_works 75 000 000; +17.19% ✔️ 64 000 000 71 030 000 (52 500 000; 91 500 000) 20 000 000 166 000 000
tests::memory_access_cases 120 000 000; +84.62% ❗ 65 000 000 68 220 000 (49 500 000; 80 000 000) 28 000 000 134 000 000
tests::messages_processing_works 110 000 000; +80.33% ❗ 61 000 000 64 210 000 (49 000 000; 76 500 000) 24 000 000 156 000 000
tests::messages_to_paused_program_skipped 113 000 000; +30.64% ❗ 86 500 000 88 930 000 (61 500 000; 107 000 000) 26 000 000 200 000 000
tests::messages_to_uninitialized_program_wait 112 000 000; +52.38% ❗ 73 500 000 80 790 000 (55 500 000; 100 500 000) 23 000 000 180 000 000
tests::no_redundant_gas_value_after_exiting 194 000 000; +177.14% ‼️ 70 000 000 71 410 000 (50 000 000; 87 500 000) 21 000 000 148 000 000
tests::paused_program_keeps_id 391 000 000; +334.44% ‼️ 90 000 000 90 320 000 (64 500 000; 113 500 000) 35 000 000 168 000 000
tests::program_lifecycle_works 53 000 000; -19.08% ✔️ 65 500 000 67 510 000 (44 500 000; 80 500 000) 24 000 000 179 000 000
tests::program_messages_to_paused_program_skipped 212 000 000; +77.41% ‼️ 119 500 000 121 400 000 (101 500 000; 143 500 000) 54 000 000 197 000 000
tests::replies_to_paused_program_skipped 101 000 000; +29.49% ❗ 78 000 000 81 520 000 (67 000 000; 93 500 000) 30 000 000 164 000 000
tests::restrict_start_section 48 000 000; -21.95% ✔️ 61 500 000 63 590 000 (46 500 000; 80 500 000) 18 000 000 174 000 000
tests::resume_program_works 168 000 000; +51.35% ❗ 111 000 000 114 810 000 (93 000 000; 131 000 000) 51 000 000 249 000 000
tests::send_message_expected_failure 333 000 000; +489.38% ‼️ 56 500 000 63 770 000 (42 000 000; 81 500 000) 22 000 000 144 000 000
tests::send_message_works 1 273 000 000; +1873.64% ‼️ 64 500 000 64 130 000 (46 000 000; 78 000 000) 18 000 000 164 000 000
tests::send_reply_failure_to_claim_from_mailbox 56 000 000; -0.88% ✔️ 56 500 000 60 780 000 (41 500 000; 75 000 000) 16 000 000 165 000 000
tests::send_reply_value_claiming_works 135 000 000; +107.69% ❗ 65 000 000 69 640 000 (55 500 000; 84 000 000) 22 000 000 153 000 000
tests::send_reply_works 243 000 000; +285.71% ‼️ 63 000 000 65 220 000 (47 000 000; 78 000 000) 21 000 000 149 000 000
tests::spent_gas_to_reward_block_author_works 112 000 000; +96.49% ❗ 57 000 000 60 730 000 (43 000 000; 76 500 000) 13 000 000 151 000 000
tests::submit_program_expected_failure 226 000 000; +326.42% ‼️ 53 000 000 57 650 000 (39 500 000; 70 500 000) 15 000 000 140 000 000
tests::submit_program_fails_on_duplicate_id 131 000 000; +131.86% ❗ 56 500 000 59 400 000 (45 000 000; 73 500 000) 17 000 000 146 000 000
tests::test_async_messages 2 416 000 000; +338.48% ‼️ 551 000 000 557 720 000 (520 500 000; 593 000 000) 458 000 000 700 000 000
tests::test_code_is_not_reset_within_program_submission 119 000 000; +108.77% ❗ 57 000 000 55 530 000 (37 000 000; 68 000 000) 11 000 000 123 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 90 000 000; +55.17% ❗ 58 000 000 59 840 000 (40 500 000; 72 500 000) 17 000 000 133 000 000
tests::test_code_submission_pass 177 000 000; +268.75% ‼️ 48 000 000 53 890 000 (36 500 000; 67 000 000) 17 000 000 132 000 000
tests::test_create_program_duplicate 1 157 000 000; +786.59% ‼️ 130 500 000 128 650 000 (104 000 000; 152 500 000) 62 000 000 219 000 000
tests::test_create_program_duplicate_in_one_execution 81 000 000; -14.29% ✔️ 94 500 000 97 860 000 (76 000 000; 117 000 000) 37 000 000 167 000 000
tests::test_create_program_miscellaneous 948 000 000; +637.74% ‼️ 128 500 000 134 780 000 (115 000 000; 153 500 000) 74 000 000 258 000 000
tests::test_create_program_no_code_hash 1 796 000 000; +672.47% ‼️ 232 500 000 229 480 000 (195 000 000; 262 000 000) 157 000 000 306 000 000
tests::test_create_program_simple 1 699 000 000; +1059.73% ‼️ 146 500 000 150 790 000 (124 000 000; 173 500 000) 85 000 000 271 000 000
tests::test_create_program_with_exceeding_value 1 038 999 999; +1343.06% ‼️ 72 000 000 75 400 000 (60 500 000; 87 500 000) 28 000 000 146 000 000
tests::test_create_program_with_value_lt_ed 564 000 000; +516.39% ‼️ 91 500 000 94 200 000 (75 500 000; 113 500 000) 45 000 000 172 000 000
tests::test_create_program_without_gas_works 153 000 000; +117.02% ❗ 70 500 000 73 150 000 (57 000 000; 84 000 000) 29 000 000 156 000 000
tests::test_message_processing_for_non_existing_destination 54 000 000; -6.90% ✔️ 58 000 000 58 410 000 (44 000 000; 71 500 000) 23 000 000 112 000 000
tests::test_reply_to_terminated_program 855 000 000; +1047.65% ‼️ 74 500 000 75 630 000 (54 500 000; 91 500 000) 24 000 000 149 000 000
tests::test_same_code_submission_fails 598 000 000; +977.48% ‼️ 55 500 000 58 810 000 (43 000 000; 71 000 000) 27 000 000 115 000 000
tests::test_two_contracts_composition_works 1 791 000 000; +788.83% ‼️ 201 500 000 204 710 000 (179 000 000; 223 000 000) 122 000 000 341 000 000
tests::uninitialized_program_should_accept_replies 1 618 000 000; +1542.64% ‼️ 98 500 000 101 940 000 (79 500 000; 118 000 000) 50 000 000 185 000 000
tests::unstoppable_block_execution_works 1 409 000 000; +2268.07% ‼️ 59 500 000 64 280 000 (49 000 000; 75 000 000) 23 000 000 153 000 000
tests::unused_gas_released_back_works 1 375 000 000; +2494.34% ‼️ 53 000 000 55 310 000 (40 000 000; 66 500 000) 18 000 000 122 000 000
tests::wake_messages_after_program_inited 1 774 000 000; +861.52% ‼️ 184 500 000 190 410 000 (157 000 000; 220 500 000) 121 000 000 302 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 1 350 000 000; +3757.14% ‼️ 35 000 000 38 340 000 (25 000 000; 49 500 000) 5 000 000 91 000 000
tests::check_changed_pages_in_storage 1 396 000 000; +2370.80% ‼️ 56 500 000 56 830 000 (44 000 000; 72 000 000) 14 000 000 115 000 000
tests::debug_mode_works 1 413 000 000; +2445.95% ‼️ 55 500 000 57 330 000 (40 000 000; 72 500 000) 18 000 000 112 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 1 438 000 000; +4538.71% ‼️ 31 000 000 32 570 000 (19 500 000; 43 000 000) 4 000 000 77 000 000
tests::dequeued_impl_works_manually 1 338 000 000; +2576.00% ‼️ 50 000 000 49 700 000 (37 000 000; 60 000 000) 18 000 000 85 000 000
tests::queue_processing_impl_works_manually 1 597 000 000; +3094.00% ‼️ 50 000 000 48 700 000 (36 000 000; 62 000 000) 10 000 000 118 000 000
tests::queue_works 1 379 000 000; +2743.30% ‼️ 48 500 000 48 400 000 (35 000 000; 58 000 000) 13 000 000 109 000 000
tests::sent_impl_works 1 714 000 000; +3470.83% ‼️ 48 000 000 50 250 000 (35 500 000; 64 500 000) 9 000 000 105 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 1 748 000 000; +5041.18% ‼️ 34 000 000 35 550 000 (20 000 000; 48 000 000) 8 000 000 78 000 000
tests::custom_fee_multiplier_updated_per_block 1 918 000 000; +4466.67% ‼️ 42 000 000 44 380 000 (32 000 000; 55 000 000) 13 000 000 107 000 000
tests::fee_rounding_error_bounded_by_multiplier 1 903 000 000; +3948.94% ‼️ 47 000 000 49 010 000 (34 000 000; 58 000 000) 14 000 000 108 000 000
tests::mq_size_affecting_fee_works 1 902 000 000; +4428.57% ‼️ 42 000 000 46 320 000 (31 000 000; 58 500 000) 13 000 000 98 000 000
tests::mq_size_not_affecting_fee_works 2 113 999 999; +4704.55% ‼️ 44 000 000 46 020 000 (32 000 000; 58 000 000) 13 000 000 93 000 000
tests::query_info_and_fee_details_work 2 245 000 000; +5002.27% ‼️ 44 000 000 45 640 000 (32 000 000; 60 000 000) 11 000 000 103 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 2 212 000 000; +6311.59% ‼️ 34 500 000 37 220 000 (21 500 000; 53 000 000) 3 000 000 84 000 000
tests::pause_program_twice_fails 2 246 000 000; +4483.67% ‼️ 49 000 000 47 150 000 (32 500 000; 59 500 000) 9 000 000 90 000 000
tests::pause_program_works 2 251 000 000; +3620.66% ‼️ 60 500 000 62 300 000 (48 500 000; 73 000 000) 24 000 000 123 000 000
tests::pause_terminated_program_fails 2 330 000 000; +4754.17% ‼️ 48 000 000 46 850 000 (32 500 000; 61 000 000) 9 000 000 94 000 000
tests::pause_uninitialized_program_works 2 318 000 000; +3763.33% ‼️ 60 000 000 61 350 000 (48 000 000; 71 500 000) 22 000 000 115 000 000
tests::resume_program_twice_fails 2 288 000 000; +2742.24% ‼️ 80 500 000 79 680 000 (64 000 000; 94 000 000) 38 000 000 152 000 000
tests::resume_program_wrong_list_fails 2 333 000 000; +3517.05% ‼️ 64 500 000 68 710 000 (53 000 000; 80 500 000) 29 000 000 140 000 000
tests::resume_program_wrong_memory_fails 2 284 000 000; +3258.82% ‼️ 68 000 000 69 890 000 (53 000 000; 85 000 000) 29 000 000 125 000 000
tests::resume_uninitialized_program_works 2 205 000 000; +3142.65% ‼️ 68 000 000 68 910 000 (53 000 000; 81 500 000) 30 000 000 116 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 2 115 000 000; +5942.86% ‼️ 35 000 000 33 760 000 (21 500 000; 45 000 000) 4 000 000 68 000 000
tests::dust_discarded_with_noop 2 117 000 000; +4940.48% ‼️ 42 000 000 44 430 000 (32 000 000; 52 000 000) 16 000 000 85 000 000
tests::external_submitter_gets_rewarded 2 063 000 000; +4535.96% ‼️ 44 500 000 45 470 000 (34 000 000; 56 000 000) 17 000 000 93 000 000
tests::gas_properly_handled_for_trap_replies 1 974 000 000; +4335.96% ‼️ 44 500 000 44 910 000 (32 000 000; 54 000 000) 14 000 000 105 000 000
tests::ocw_double_charge 1 873 000 000; +4468.29% ‼️ 41 000 000 43 040 000 (29 500 000; 53 500 000) 9 000 000 101 000 000
tests::ocw_interval_maintained 1 819 000 000; +3854.35% ‼️ 46 000 000 45 350 000 (33 000 000; 54 500 000) 15 000 000 86 000 000
tests::ocw_interval_stretches_for_large_wait_list 1 781 000 000; +4041.86% ‼️ 43 000 000 45 860 000 (35 000 000; 56 000 000) 12 000 000 94 000 000
tests::ocw_overlapping_prevented 1 583 000 000; +3760.98% ‼️ 41 000 000 43 110 000 (33 000 000; 51 000 000) 12 000 000 86 000 000
tests::rent_charge_works 1 467 000 000; +3392.86% ‼️ 42 000 000 43 640 000 (32 500 000; 53 500 000) 12 000 000 88 000 000
tests::trap_reply_message_is_sent 1 343 000 000; +3060.00% ‼️ 42 500 000 43 060 000 (31 000 000; 52 000 000) 14 000 000 110 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 255 065 056 706; +57.63% ‼️ 161 812 080 563 161 888 381 218 (161 443 895 105; 162 387 474 512) 160 007 715 624 164 204 861 577

name = Async RwLock

name current median average lower/upper quartile min max
check readers 298 650 397; +522.29% ‼️ 47 991 974 50 553 566 (41 681 010; 56 784 996) 32 760 670 120 929 903
forever lock 505 820 528; +707.03% ‼️ 62 676 558 70 842 105 (56 626 906; 78 314 131) 41 460 260 139 286 319
read while writing 1 102 400 092; +873.38% ‼️ 113 254 955 121 448 175 (102 722 315; 131 930 845) 76 451 777 198 411 600
rwlock wide 1 896 744 679; +687.63% ‼️ 240 817 673 233 877 878 (205 579 561; 256 505 750) 163 115 606 304 353 296
write while reading 1 116 957 328; +716.70% ‼️ 136 765 286 144 035 836 (122 965 823; 155 769 595) 99 689 873 216 454 957

name = Async init

name current median average lower/upper quartile min max
approved pong 18 821 458 556; +10.98% ‼️ 16 959 019 577 16 982 074 217 (16 834 009 040; 17 095 519 985) 16 670 116 144 17 410 244 990

name = Async-await

name current median average lower/upper quartile min max
normal 545 159 040; +610.00% ‼️ 76 782 665 76 278 686 (69 830 836; 84 052 171) 30 610 843 98 661 120
panic 292 752 386; +404.21% ‼️ 58 062 088 64 175 566 (46 931 594; 82 909 286) 36 910 628 103 762 085

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 163 862 905; +773.17% ‼️ 133 291 711 119 822 840 (88 216 882; 141 990 003) 61 412 648 163 072 422

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 13 388 754 455; +43.13% ‼️ 9 354 126 024 9 378 624 274 (9 258 441 193; 9 493 211 336) 8 938 645 225 9 801 402 555
2 of 3; bob & eve 17 713 210 594; +88.64% ‼️ 9 390 152 360 9 386 338 318 (9 287 826 874; 9 500 674 093) 9 015 404 179 9 678 888 626
2 of 3; eve & alice 17 015 562 229; +81.99% ‼️ 9 349 582 130 9 342 176 097 (9 206 326 610; 9 490 528 158) 8 863 000 011 9 765 880 870
2 of 3; eve doesn't answer, alice replies with incorrect payload 15 604 290 158; +68.83% ‼️ 9 242 658 590 9 220 730 238 (9 067 588 785; 9 314 212 909) 8 862 967 969 9 747 476 957
2 of 3; no replies 10 360 517 549; +14.60% ‼️ 9 040 734 826 9 055 523 323 (8 922 289 854; 9 174 705 516) 8 666 699 438 9 467 792 315
Single signatory & zero threshold 13 937 215 562; +50.55% ‼️ 9 257 666 245 9 259 819 385 (9 126 252 632; 9 400 240 911) 8 859 140 149 9 712 730 076
Three signatories & redundand threshold 17 077 947 068; +80.42% ‼️ 9 465 621 475 9 480 965 064 (9 322 073 244; 9 619 589 028) 9 084 827 808 9 993 490 499
Three signatories; Bob replies with incorrect signature 14 875 396 529; +61.71% ‼️ 9 198 940 535 9 226 063 105 (9 070 500 418; 9 341 694 346) 8 826 018 713 9 670 714 588
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 756 238 003; +59.98% ‼️ 9 223 654 470 9 232 788 452 (9 111 314 723; 9 346 465 571) 8 893 249 333 9 735 586 386

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 484 470 717; +11.76% ‼️ 4 907 524 088 4 897 992 232 (4 787 176 554; 5 028 222 195) 4 443 810 727 5 273 972 230
correct signature but for another message 5 858 844 427; +14.92% ‼️ 5 098 348 908 5 074 411 536 (4 960 387 048; 5 201 796 606) 4 587 320 219 5 446 560 503
no reply 5 419 029 438; +9.96% ‼️ 4 928 169 530 4 897 079 183 (4 749 357 364; 5 045 296 829) 4 461 147 158 5 251 656 836
signed message 5 921 207 472; +14.83% ‼️ 5 156 403 030 5 126 816 666 (5 024 845 207; 5 278 332 131) 4 573 874 691 5 437 405 368

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 646 012 101; +599.68% ‼️ 92 330 299 90 684 998 (81 661 500; 100 146 562) 47 724 478 122 235 587

name = Decoder

name current median average lower/upper quartile min max
decoder 601 416 642; +857.23% ‼️ 62 828 743 56 566 925 (35 325 759; 72 523 915) 21 130 586 88 608 326

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 849 187 617; +774.99% ‼️ 325 624 913 319 975 023 (292 627 634; 351 028 869) 206 050 605 444 488 992
join 2 369 375 445; +833.01% ‼️ 253 950 819 266 505 550 (225 929 628; 301 895 634) 177 866 607 406 443 208
select 2 373 452 544; +790.32% ‼️ 266 584 681 273 422 889 (225 879 300; 320 555 291) 182 151 051 407 031 969

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 061 047 804; +702.85% ‼️ 256 716 306 250 831 892 (221 186 978; 276 513 565) 151 889 762 345 124 634

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 543 038 528; +514.99% ‼️ 88 300 636 86 938 699 (77 844 445; 96 665 968) 40 585 317 117 490 598

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 698 430 431; +867.13% ‼️ 72 217 133 64 263 300 (35 826 633; 89 941 513) 22 254 303 105 503 151

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 17 702 325 390; +10.86% ‼️ 15 968 750 458 15 971 520 107 (15 847 936 463; 16 093 575 187) 15 610 780 579 16 394 516 171

name = Multiping

name current median average lower/upper quartile min max
multiping 535 595 557; +664.15% ‼️ 70 090 560 62 853 358 (42 075 508; 76 419 474) 25 815 172 94 259 389

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 444 973 773; +1196.22% ‼️ 34 328 602 41 830 996 (26 192 720; 59 867 620) 16 088 404 82 976 609
ping-pong wgas 573 636 049; +1170.33% ‼️ 45 156 571 51 084 686 (39 617 378; 55 202 923) 29 489 225 98 696 459

name = Program_id test

name current median average lower/upper quartile min max
program_id 165 260 186; +450.20% ‼️ 30 036 613 42 703 799 (25 302 577; 66 120 029) 17 072 061 81 256 888

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 363 954 235; +616.92% ‼️ 50 766 060 60 203 612 (43 954 611; 78 909 509) 34 281 622 110 060 768
state-saving 347 768 857; +668.13% ‼️ 45 274 649 51 101 743 (39 777 877; 56 263 551) 30 273 672 106 405 025

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 545 310 909; +689.83% ‼️ 69 041 494 67 461 821 (62 509 233; 76 705 190) 24 185 603 93 605 598
Try to re-init existing program 667 939 770; +659.86% ‼️ 87 903 504 82 703 589 (61 540 707; 103 286 868) 42 859 695 121 186 950

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 338 432 660; +1590.94% ‼️ 20 014 431 25 985 524 (16 609 287; 27 561 543) 10 175 172 62 687 649

name = Wait test

name current median average lower/upper quartile min max
wait 665 462 818; +993.32% ‼️ 60 866 485 67 753 312 (53 435 534; 75 957 284) 41 034 065 123 312 265

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 1 525 574 518; +506.97% ‼️ 251 342 203 252 362 480 (220 458 027; 283 798 711) 167 785 579 362 302 076

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 812 750 131; +737.16% ‼️ 97 084 364 94 718 711 (86 371 204; 101 543 449) 72 146 181 115 823 509

name = guestbook test

name current median average lower/upper quartile min max
guestbook 10 380 047 623; +16.48% ‼️ 8 911 543 798 8 905 965 979 (8 767 458 755; 9 051 261 415) 8 419 484 173 9 436 516 031

name = gui test

name current median average lower/upper quartile min max
gui 13 101 525 537; +14.65% ‼️ 11 427 682 841 11 444 457 134 (11 342 600 825; 11 549 917 401) 11 028 121 769 11 931 994 964
7cc1f25
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 99 980 000 000; +1909.65% ❗ 4 975 000 000 6 218 890 000 (4 833 500 000; 5 169 500 000) 4 521 000 000 127 313 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 101 000 000; +267.27% ‼️ 27 500 000 29 860 000 (21 500 000; 35 500 000) 6 000 000 82 000 000
property_tests::test_empty_tree 6 077 000 000; +174.36% ‼️ 2 215 000 000 2 215 569 999 (2 180 000 000; 2 253 500 000) 2 035 000 000 2 353 000 000
property_tests::test_tree_properties 10 463 000 000; +127.31% ‼️ 4 603 000 000 4 633 909 999 (4 467 500 000; 4 803 000 000) 4 083 999 999 5 203 000 000
tests::all_keys_are_cleared 190 000 000; +272.55% ‼️ 51 000 000 53 980 000 (39 000 000; 67 000 000) 13 000 000 146 000 000
tests::gas_free_after_consumed 438 000 000; +803.09% ‼️ 48 500 000 49 550 000 (32 000 000; 62 500 000) 15 000 000 125 000 000
tests::limit_vs_origin 61 000 000; +23.23% ✔️ 49 500 000 51 860 000 (40 000 000; 62 000 000) 14 000 000 106 000 000
tests::long_chain 95 000 000; +102.13% ❗ 47 000 000 51 060 000 (34 500 000; 65 000 000) 13 000 000 119 000 000
tests::simple_value_tree 228 000 000; +385.11% ‼️ 47 000 000 50 140 000 (34 000 000; 62 000 000) 16 000 000 105 000 000
tests::split_with_no_value 56 000 000; +16.67% ✔️ 48 000 000 52 260 000 (37 000 000; 63 000 000) 12 000 000 151 000 000
tests::splits_fail 212 000 000; +292.59% ‼️ 54 000 000 55 760 000 (36 500 000; 67 500 000) 15 000 000 134 000 000
tests::sub_nodes_tree 67 000 000; +38.14% ❗ 48 500 000 51 130 000 (35 000 000; 61 500 000) 10 000 000 134 000 000
tests::sub_nodes_tree_with_spends 135 000 000; +181.25% ❗ 48 000 000 52 280 000 (35 000 000; 64 000 000) 14 000 000 142 000 000
tests::subtree_gas_limit_remains_intact 84 000 000; +61.54% ❗ 52 000 000 55 970 000 (39 000 000; 73 000 000) 12 000 000 134 000 000
tests::test_consume_procedure 146 000 000; +183.50% ❗ 51 500 000 56 150 000 (38 500 000; 70 000 000) 13 000 000 168 000 000
tests::value_tree_known_errors 164 000 000; +206.54% ‼️ 53 500 000 56 290 000 (38 000 000; 71 500 000) 15 000 000 126 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 33 000 000; -10.81% ✔️ 37 000 000 40 680 000 (25 000 000; 50 000 000) 10 000 000 122 000 000
schedule::test::print_test_schedule 148 000 000; +311.11% ‼️ 36 000 000 39 490 000 (20 500 000; 53 500 000) 7 000 000 90 000 000
tests::call_forbidden_function 75 000 000; +32.74% ✔️ 56 500 000 61 270 000 (43 000 000; 78 500 000) 14 000 000 123 000 000
tests::cascading_messages_with_value_do_not_overcharge 654 000 000; +137.39% ‼️ 275 500 000 280 710 000 (236 500 000; 315 000 000) 158 000 000 460 000 000
tests::defer_program_initialization 179 000 000; +43.20% ❗ 125 000 000 130 310 000 (102 000 000; 152 500 000) 59 000 000 229 000 000
tests::distributor_distribute 79 000 000; -26.17% ✔️ 107 000 000 114 640 000 (88 500 000; 131 000 000) 55 000 000 264 000 000
tests::distributor_initialize 372 000 000; +306.56% ‼️ 91 500 000 96 100 000 (72 000 000; 114 500 000) 37 000 000 184 000 000
tests::events_logging_works 67 000 000; +2.29% ✔️ 65 500 000 66 080 000 (48 000 000; 81 000 000) 23 000 000 125 000 000
tests::exit_handle 120 000 000; +71.43% ❗ 70 000 000 70 930 000 (53 000 000; 84 500 000) 19 000 000 154 000 000
tests::exit_init 109 000 000; +36.25% ❗ 80 000 000 87 580 000 (65 500 000; 101 500 000) 31 000 000 215 000 000
tests::gas_spent_precalculated 71 000 000; +4.41% ✔️ 68 000 000 68 140 000 (50 500 000; 79 000 000) 24 000 000 164 000 000
tests::gas_spent_vs_balance 96 000 000; -43.70% ✔️ 170 500 000 174 270 000 (141 000 000; 206 000 000) 79 000 000 287 000 000
tests::init_message_logging_works 209 000 000; +231.75% ‼️ 63 000 000 65 040 000 (47 000 000; 82 500 000) 19 000 000 131 000 000
tests::init_wait_reply_exit_cleaned_storage 317 000 000; +147.66% ‼️ 128 000 000 130 890 000 (102 000 000; 158 000 000) 49 000 000 298 000 000
tests::lazy_pages 30 000 000; -53.85% ✔️ 65 000 000 69 120 000 (48 500 000; 86 000 000) 24 000 000 156 000 000
tests::mailbox_works 174 000 000; +171.88% ‼️ 64 000 000 71 030 000 (52 500 000; 91 500 000) 20 000 000 166 000 000
tests::memory_access_cases 145 000 000; +123.08% ‼️ 65 000 000 68 220 000 (49 500 000; 80 000 000) 28 000 000 134 000 000
tests::messages_processing_works 59 000 000; -3.28% ✔️ 61 000 000 64 210 000 (49 000 000; 76 500 000) 24 000 000 156 000 000
tests::messages_to_paused_program_skipped 224 000 000; +158.96% ‼️ 86 500 000 88 930 000 (61 500 000; 107 000 000) 26 000 000 200 000 000
tests::messages_to_uninitialized_program_wait 192 000 000; +161.22% ‼️ 73 500 000 80 790 000 (55 500 000; 100 500 000) 23 000 000 180 000 000
tests::no_redundant_gas_value_after_exiting 189 000 000; +170.00% ‼️ 70 000 000 71 410 000 (50 000 000; 87 500 000) 21 000 000 148 000 000
tests::paused_program_keeps_id 214 000 000; +137.78% ‼️ 90 000 000 90 320 000 (64 500 000; 113 500 000) 35 000 000 168 000 000
tests::program_lifecycle_works 113 000 000; +72.52% ❗ 65 500 000 67 510 000 (44 500 000; 80 500 000) 24 000 000 179 000 000
tests::program_messages_to_paused_program_skipped 152 000 000; +27.20% ❗ 119 500 000 121 400 000 (101 500 000; 143 500 000) 54 000 000 197 000 000
tests::replies_to_paused_program_skipped 140 000 000; +79.49% ❗ 78 000 000 81 520 000 (67 000 000; 93 500 000) 30 000 000 164 000 000
tests::restrict_start_section 52 000 000; -15.45% ✔️ 61 500 000 63 590 000 (46 500 000; 80 500 000) 18 000 000 174 000 000
tests::resume_program_works 221 000 000; +99.10% ❗ 111 000 000 114 810 000 (93 000 000; 131 000 000) 51 000 000 249 000 000
tests::send_message_expected_failure 163 000 000; +188.50% ‼️ 56 500 000 63 770 000 (42 000 000; 81 500 000) 22 000 000 144 000 000
tests::send_message_works 80 000 000; +24.03% ❗ 64 500 000 64 130 000 (46 000 000; 78 000 000) 18 000 000 164 000 000
tests::send_reply_failure_to_claim_from_mailbox 115 000 000; +103.54% ❗ 56 500 000 60 780 000 (41 500 000; 75 000 000) 16 000 000 165 000 000
tests::send_reply_value_claiming_works 67 000 000; +3.08% ✔️ 65 000 000 69 640 000 (55 500 000; 84 000 000) 22 000 000 153 000 000
tests::send_reply_works 104 000 000; +65.08% ❗ 63 000 000 65 220 000 (47 000 000; 78 000 000) 21 000 000 149 000 000
tests::spent_gas_to_reward_block_author_works 67 000 000; +17.54% ✔️ 57 000 000 60 730 000 (43 000 000; 76 500 000) 13 000 000 151 000 000
tests::submit_program_expected_failure 121 000 000; +128.30% ❗ 53 000 000 57 650 000 (39 500 000; 70 500 000) 15 000 000 140 000 000
tests::submit_program_fails_on_duplicate_id 157 000 000; +177.88% ‼️ 56 500 000 59 400 000 (45 000 000; 73 500 000) 17 000 000 146 000 000
tests::test_async_messages 1 193 000 000; +116.52% ‼️ 551 000 000 557 720 000 (520 500 000; 593 000 000) 458 000 000 700 000 000
tests::test_code_is_not_reset_within_program_submission 181 000 000; +217.54% ‼️ 57 000 000 55 530 000 (37 000 000; 68 000 000) 11 000 000 123 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 168 000 000; +189.66% ‼️ 58 000 000 59 840 000 (40 500 000; 72 500 000) 17 000 000 133 000 000
tests::test_code_submission_pass 151 000 000; +214.58% ‼️ 48 000 000 53 890 000 (36 500 000; 67 000 000) 17 000 000 132 000 000
tests::test_create_program_duplicate 324 000 000; +148.28% ‼️ 130 500 000 128 650 000 (104 000 000; 152 500 000) 62 000 000 219 000 000
tests::test_create_program_duplicate_in_one_execution 308 000 000; +225.93% ‼️ 94 500 000 97 860 000 (76 000 000; 117 000 000) 37 000 000 167 000 000
tests::test_create_program_miscellaneous 152 000 000; +18.29% ✔️ 128 500 000 134 780 000 (115 000 000; 153 500 000) 74 000 000 258 000 000
tests::test_create_program_no_code_hash 800 000 000; +244.09% ‼️ 232 500 000 229 480 000 (195 000 000; 262 000 000) 157 000 000 306 000 000
tests::test_create_program_simple 540 000 000; +268.60% ‼️ 146 500 000 150 790 000 (124 000 000; 173 500 000) 85 000 000 271 000 000
tests::test_create_program_with_exceeding_value 91 000 000; +26.39% ❗ 72 000 000 75 400 000 (60 500 000; 87 500 000) 28 000 000 146 000 000
tests::test_create_program_with_value_lt_ed 293 000 000; +220.22% ‼️ 91 500 000 94 200 000 (75 500 000; 113 500 000) 45 000 000 172 000 000
tests::test_create_program_without_gas_works 231 000 000; +227.66% ‼️ 70 500 000 73 150 000 (57 000 000; 84 000 000) 29 000 000 156 000 000
tests::test_message_processing_for_non_existing_destination 164 000 000; +182.76% ‼️ 58 000 000 58 410 000 (44 000 000; 71 500 000) 23 000 000 112 000 000
tests::test_reply_to_terminated_program 205 000 000; +175.17% ‼️ 74 500 000 75 630 000 (54 500 000; 91 500 000) 24 000 000 149 000 000
tests::test_same_code_submission_fails 55 000 000; -0.90% ✔️ 55 500 000 58 810 000 (43 000 000; 71 000 000) 27 000 000 115 000 000
tests::test_two_contracts_composition_works 731 000 000; +262.78% ‼️ 201 500 000 204 710 000 (179 000 000; 223 000 000) 122 000 000 341 000 000
tests::uninitialized_program_should_accept_replies 125 000 000; +26.90% ❗ 98 500 000 101 940 000 (79 500 000; 118 000 000) 50 000 000 185 000 000
tests::unstoppable_block_execution_works 929 000 000; +1461.34% ‼️ 59 500 000 64 280 000 (49 000 000; 75 000 000) 23 000 000 153 000 000
tests::unused_gas_released_back_works 117 000 000; +120.75% ❗ 53 000 000 55 310 000 (40 000 000; 66 500 000) 18 000 000 122 000 000
tests::wake_messages_after_program_inited 460 000 000; +149.32% ‼️ 184 500 000 190 410 000 (157 000 000; 220 500 000) 121 000 000 302 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 45 000 000; +28.57% ✔️ 35 000 000 38 340 000 (25 000 000; 49 500 000) 5 000 000 91 000 000
tests::check_changed_pages_in_storage 79 000 000; +39.82% ❗ 56 500 000 56 830 000 (44 000 000; 72 000 000) 14 000 000 115 000 000
tests::debug_mode_works 78 000 000; +40.54% ❗ 55 500 000 57 330 000 (40 000 000; 72 500 000) 18 000 000 112 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 36 000 000; +16.13% ✔️ 31 000 000 32 570 000 (19 500 000; 43 000 000) 4 000 000 77 000 000
tests::dequeued_impl_works_manually 53 000 000; +6.00% ✔️ 50 000 000 49 700 000 (37 000 000; 60 000 000) 18 000 000 85 000 000
tests::queue_processing_impl_works_manually 780 000 000; +1460.00% ‼️ 50 000 000 48 700 000 (36 000 000; 62 000 000) 10 000 000 118 000 000
tests::queue_works 157 000 000; +223.71% ‼️ 48 500 000 48 400 000 (35 000 000; 58 000 000) 13 000 000 109 000 000
tests::sent_impl_works 53 000 000; +10.42% ✔️ 48 000 000 50 250 000 (35 500 000; 64 500 000) 9 000 000 105 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 159 000 000; +367.65% ‼️ 34 000 000 35 550 000 (20 000 000; 48 000 000) 8 000 000 78 000 000
tests::custom_fee_multiplier_updated_per_block 162 000 000; +285.71% ‼️ 42 000 000 44 380 000 (32 000 000; 55 000 000) 13 000 000 107 000 000
tests::fee_rounding_error_bounded_by_multiplier 128 000 000; +172.34% ‼️ 47 000 000 49 010 000 (34 000 000; 58 000 000) 14 000 000 108 000 000
tests::mq_size_affecting_fee_works 541 000 000; +1188.10% ‼️ 42 000 000 46 320 000 (31 000 000; 58 500 000) 13 000 000 98 000 000
tests::mq_size_not_affecting_fee_works 110 000 000; +150.00% ‼️ 44 000 000 46 020 000 (32 000 000; 58 000 000) 13 000 000 93 000 000
tests::query_info_and_fee_details_work 119 000 000; +170.45% ‼️ 44 000 000 45 640 000 (32 000 000; 60 000 000) 11 000 000 103 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 118 000 000; +242.03% ‼️ 34 500 000 37 220 000 (21 500 000; 53 000 000) 3 000 000 84 000 000
tests::pause_program_twice_fails 49 000 000; +0.00% ✔️ 49 000 000 47 150 000 (32 500 000; 59 500 000) 9 000 000 90 000 000
tests::pause_program_works 115 000 000; +90.08% ❗ 60 500 000 62 300 000 (48 500 000; 73 000 000) 24 000 000 123 000 000
tests::pause_terminated_program_fails 92 000 000; +91.67% ❗ 48 000 000 46 850 000 (32 500 000; 61 000 000) 9 000 000 94 000 000
tests::pause_uninitialized_program_works 109 000 000; +81.67% ❗ 60 000 000 61 350 000 (48 000 000; 71 500 000) 22 000 000 115 000 000
tests::resume_program_twice_fails 203 000 000; +152.17% ‼️ 80 500 000 79 680 000 (64 000 000; 94 000 000) 38 000 000 152 000 000
tests::resume_program_wrong_list_fails 115 000 000; +78.29% ❗ 64 500 000 68 710 000 (53 000 000; 80 500 000) 29 000 000 140 000 000
tests::resume_program_wrong_memory_fails 598 000 000; +779.41% ‼️ 68 000 000 69 890 000 (53 000 000; 85 000 000) 29 000 000 125 000 000
tests::resume_uninitialized_program_works 88 000 000; +29.41% ❗ 68 000 000 68 910 000 (53 000 000; 81 500 000) 30 000 000 116 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; -11.43% ✔️ 35 000 000 33 760 000 (21 500 000; 45 000 000) 4 000 000 68 000 000
tests::dust_discarded_with_noop 57 000 000; +35.71% ❗ 42 000 000 44 430 000 (32 000 000; 52 000 000) 16 000 000 85 000 000
tests::external_submitter_gets_rewarded 76 000 000; +70.79% ❗ 44 500 000 45 470 000 (34 000 000; 56 000 000) 17 000 000 93 000 000
tests::gas_properly_handled_for_trap_replies 507 000 000; +1039.33% ‼️ 44 500 000 44 910 000 (32 000 000; 54 000 000) 14 000 000 105 000 000
tests::ocw_double_charge 65 000 000; +58.54% ❗ 41 000 000 43 040 000 (29 500 000; 53 500 000) 9 000 000 101 000 000
tests::ocw_interval_maintained 112 000 000; +143.48% ‼️ 46 000 000 45 350 000 (33 000 000; 54 500 000) 15 000 000 86 000 000
tests::ocw_interval_stretches_for_large_wait_list 98 000 000; +127.91% ‼️ 43 000 000 45 860 000 (35 000 000; 56 000 000) 12 000 000 94 000 000
tests::ocw_overlapping_prevented 200 000 000; +387.80% ‼️ 41 000 000 43 110 000 (33 000 000; 51 000 000) 12 000 000 86 000 000
tests::rent_charge_works 49 000 000; +16.67% ✔️ 42 000 000 43 640 000 (32 500 000; 53 500 000) 12 000 000 88 000 000
tests::trap_reply_message_is_sent 142 000 000; +234.12% ‼️ 42 500 000 43 060 000 (31 000 000; 52 000 000) 14 000 000 110 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 305 732 223 489; +88.94% ‼️ 161 812 080 563 161 888 381 218 (161 443 895 105; 162 387 474 512) 160 007 715 624 164 204 861 577

name = Async RwLock

name current median average lower/upper quartile min max
check readers 289 945 301; +504.15% ‼️ 47 991 974 50 553 566 (41 681 010; 56 784 996) 32 760 670 120 929 903
forever lock 337 281 617; +438.13% ‼️ 62 676 558 70 842 105 (56 626 906; 78 314 131) 41 460 260 139 286 319
read while writing 1 086 532 358; +859.37% ‼️ 113 254 955 121 448 175 (102 722 315; 131 930 845) 76 451 777 198 411 600
rwlock wide 1 031 617 371; +328.38% ‼️ 240 817 673 233 877 878 (205 579 561; 256 505 750) 163 115 606 304 353 296
write while reading 1 057 648 329; +673.33% ‼️ 136 765 286 144 035 836 (122 965 823; 155 769 595) 99 689 873 216 454 957

name = Async init

name current median average lower/upper quartile min max
approved pong 23 531 775 737; +38.76% ‼️ 16 959 019 577 16 982 074 217 (16 834 009 040; 17 095 519 985) 16 670 116 144 17 410 244 990

name = Async-await

name current median average lower/upper quartile min max
normal 237 792 387; +209.70% ‼️ 76 782 665 76 278 686 (69 830 836; 84 052 171) 30 610 843 98 661 120
panic 349 483 977; +501.91% ‼️ 58 062 088 64 175 566 (46 931 594; 82 909 286) 36 910 628 103 762 085

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 058 961 650; +694.47% ‼️ 133 291 711 119 822 840 (88 216 882; 141 990 003) 61 412 648 163 072 422

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 21 732 800 787; +132.33% ‼️ 9 354 126 024 9 378 624 274 (9 258 441 193; 9 493 211 336) 8 938 645 225 9 801 402 555
2 of 3; bob & eve 21 719 402 057; +131.30% ‼️ 9 390 152 360 9 386 338 318 (9 287 826 874; 9 500 674 093) 9 015 404 179 9 678 888 626
2 of 3; eve & alice 21 598 986 107; +131.02% ‼️ 9 349 582 130 9 342 176 097 (9 206 326 610; 9 490 528 158) 8 863 000 011 9 765 880 870
2 of 3; eve doesn't answer, alice replies with incorrect payload 18 734 169 818; +102.69% ‼️ 9 242 658 590 9 220 730 238 (9 067 588 785; 9 314 212 909) 8 862 967 969 9 747 476 957
2 of 3; no replies 12 982 137 885; +43.60% ‼️ 9 040 734 826 9 055 523 323 (8 922 289 854; 9 174 705 516) 8 666 699 438 9 467 792 315
Single signatory & zero threshold 18 651 308 868; +101.47% ‼️ 9 257 666 245 9 259 819 385 (9 126 252 632; 9 400 240 911) 8 859 140 149 9 712 730 076
Three signatories & redundand threshold 21 990 136 081; +132.32% ‼️ 9 465 621 475 9 480 965 064 (9 322 073 244; 9 619 589 028) 9 084 827 808 9 993 490 499
Three signatories; Bob replies with incorrect signature 17 810 605 434; +93.62% ‼️ 9 198 940 535 9 226 063 105 (9 070 500 418; 9 341 694 346) 8 826 018 713 9 670 714 588
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 18 541 365 918; +101.02% ‼️ 9 223 654 470 9 232 788 452 (9 111 314 723; 9 346 465 571) 8 893 249 333 9 735 586 386

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 6 737 493 498; +37.29% ‼️ 4 907 524 088 4 897 992 232 (4 787 176 554; 5 028 222 195) 4 443 810 727 5 273 972 230
correct signature but for another message 8 485 800 417; +66.44% ‼️ 5 098 348 908 5 074 411 536 (4 960 387 048; 5 201 796 606) 4 587 320 219 5 446 560 503
no reply 6 462 206 916; +31.13% ‼️ 4 928 169 530 4 897 079 183 (4 749 357 364; 5 045 296 829) 4 461 147 158 5 251 656 836
signed message 8 521 221 856; +65.26% ‼️ 5 156 403 030 5 126 816 666 (5 024 845 207; 5 278 332 131) 4 573 874 691 5 437 405 368

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 540 379 514; +485.27% ‼️ 92 330 299 90 684 998 (81 661 500; 100 146 562) 47 724 478 122 235 587

name = Decoder

name current median average lower/upper quartile min max
decoder 171 961 751; +173.70% ‼️ 62 828 743 56 566 925 (35 325 759; 72 523 915) 21 130 586 88 608 326

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 670 353 786; +412.97% ‼️ 325 624 913 319 975 023 (292 627 634; 351 028 869) 206 050 605 444 488 992
join 1 070 051 114; +321.36% ‼️ 253 950 819 266 505 550 (225 929 628; 301 895 634) 177 866 607 406 443 208
select 1 119 382 334; +319.90% ‼️ 266 584 681 273 422 889 (225 879 300; 320 555 291) 182 151 051 407 031 969

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 022 731 604; +687.92% ‼️ 256 716 306 250 831 892 (221 186 978; 276 513 565) 151 889 762 345 124 634

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 474 305 925; +437.15% ‼️ 88 300 636 86 938 699 (77 844 445; 96 665 968) 40 585 317 117 490 598

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 256 647 207; +255.38% ‼️ 72 217 133 64 263 300 (35 826 633; 89 941 513) 22 254 303 105 503 151

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 20 950 012 485; +31.19% ‼️ 15 968 750 458 15 971 520 107 (15 847 936 463; 16 093 575 187) 15 610 780 579 16 394 516 171

name = Multiping

name current median average lower/upper quartile min max
multiping 138 552 117; +97.68% ‼️ 70 090 560 62 853 358 (42 075 508; 76 419 474) 25 815 172 94 259 389

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 105 459 894; +207.21% ‼️ 34 328 602 41 830 996 (26 192 720; 59 867 620) 16 088 404 82 976 609
ping-pong wgas 103 532 978; +129.28% ‼️ 45 156 571 51 084 686 (39 617 378; 55 202 923) 29 489 225 98 696 459

name = Program_id test

name current median average lower/upper quartile min max
program_id 134 572 524; +348.03% ‼️ 30 036 613 42 703 799 (25 302 577; 66 120 029) 17 072 061 81 256 888

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 152 047 767; +199.51% ‼️ 50 766 060 60 203 612 (43 954 611; 78 909 509) 34 281 622 110 060 768
state-saving 214 315 362; +373.37% ‼️ 45 274 649 51 101 743 (39 777 877; 56 263 551) 30 273 672 106 405 025

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 102 868 928; +49.00% ‼️ 69 041 494 67 461 821 (62 509 233; 76 705 190) 24 185 603 93 605 598
Try to re-init existing program 260 584 539; +196.44% ‼️ 87 903 504 82 703 589 (61 540 707; 103 286 868) 42 859 695 121 186 950

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 222 609 164; +1012.24% ‼️ 20 014 431 25 985 524 (16 609 287; 27 561 543) 10 175 172 62 687 649

name = Wait test

name current median average lower/upper quartile min max
wait 504 757 549; +729.29% ‼️ 60 866 485 67 753 312 (53 435 534; 75 957 284) 41 034 065 123 312 265

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 2 486 870 084; +889.44% ‼️ 251 342 203 252 362 480 (220 458 027; 283 798 711) 167 785 579 362 302 076

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 510 066 484; +425.38% ‼️ 97 084 364 94 718 711 (86 371 204; 101 543 449) 72 146 181 115 823 509

name = guestbook test

name current median average lower/upper quartile min max
guestbook 11 853 291 180; +33.01% ‼️ 8 911 543 798 8 905 965 979 (8 767 458 755; 9 051 261 415) 8 419 484 173 9 436 516 031

name = gui test

name current median average lower/upper quartile min max
gui 15 898 728 175; +39.12% ‼️ 11 427 682 841 11 444 457 134 (11 342 600 825; 11 549 917 401) 11 028 121 769 11 931 994 964
f424f34
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 111 944 000 000; +2186.67% ❗ 4 895 500 000 6 135 720 000 (4 774 500 000; 5 078 500 000) 4 341 000 000 126 835 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 261 000 000; +866.67% ‼️ 27 000 000 28 450 000 (19 000 000; 37 500 000) 6 000 000 78 000 000
property_tests::test_empty_tree 6 334 000 000; +187.65% ‼️ 2 202 000 000 2 200 949 999 (2 163 000 000; 2 232 000 000) 2 060 000 000 2 339 000 000
property_tests::test_tree_properties 11 556 000 000; +154.43% ‼️ 4 542 000 000 4 552 349 999 (4 402 000 000; 4 694 000 000) 4 042 000 000 5 072 000 000
tests::all_keys_are_cleared 55 000 000; +14.58% ✔️ 48 000 000 50 680 000 (36 000 000; 62 500 000) 14 000 000 132 000 000
tests::gas_free_after_consumed 176 000 000; +300.00% ‼️ 44 000 000 48 570 000 (33 000 000; 62 500 000) 9 000 000 116 000 000
tests::limit_vs_origin 162 000 000; +234.02% ‼️ 48 500 000 51 920 000 (36 500 000; 66 500 000) 11 000 000 120 000 000
tests::long_chain 143 000 000; +194.85% ‼️ 48 500 000 49 960 000 (33 500 000; 60 000 000) 12 000 000 128 000 000
tests::simple_value_tree 345 000 000; +634.04% ‼️ 47 000 000 51 110 000 (35 000 000; 64 500 000) 18 000 000 123 000 000
tests::split_with_no_value 352 000 000; +738.10% ‼️ 42 000 000 48 010 000 (33 000 000; 59 000 000) 8 000 000 158 000 000
tests::splits_fail 185 000 000; +270.00% ‼️ 50 000 000 54 780 000 (36 000 000; 69 500 000) 10 000 000 162 000 000
tests::sub_nodes_tree 396 000 000; +692.00% ‼️ 50 000 000 51 730 000 (33 500 000; 63 500 000) 12 000 000 150 000 000
tests::sub_nodes_tree_with_spends 268 000 000; +425.49% ‼️ 51 000 000 55 460 000 (33 000 000; 70 000 000) 8 000 000 142 000 000
tests::subtree_gas_limit_remains_intact 113 000 000; +132.99% ❗ 48 500 000 52 960 000 (34 000 000; 67 500 000) 12 000 000 147 000 000
tests::test_consume_procedure 156 000 000; +205.88% ‼️ 51 000 000 53 420 000 (35 000 000; 70 000 000) 13 000 000 132 000 000
tests::value_tree_known_errors 51 000 000; +2.00% ✔️ 50 000 000 54 900 000 (36 500 000; 69 500 000) 11 000 000 138 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 68 000 000; +100.00% ❗ 34 000 000 39 170 000 (22 000 000; 51 500 000) 7 000 000 128 000 000
schedule::test::print_test_schedule 69 000 000; +91.67% ❗ 36 000 000 43 190 000 (25 000 000; 58 000 000) 7 000 000 130 000 000
tests::call_forbidden_function 48 000 000; -22.58% ✔️ 62 000 000 66 490 000 (48 000 000; 83 000 000) 22 000 000 149 000 000
tests::cascading_messages_with_value_do_not_overcharge 659 000 000; +178.65% ‼️ 236 500 000 239 090 000 (197 500 000; 280 000 000) 145 000 000 427 000 000
tests::defer_program_initialization 314 000 000; +214.00% ‼️ 100 000 000 104 900 000 (84 500 000; 120 000 000) 52 000 000 199 000 000
tests::distributor_distribute 241 000 000; +143.43% ‼️ 99 000 000 107 480 000 (79 000 000; 133 000 000) 37 000 000 208 000 000
tests::distributor_initialize 340 000 000; +269.57% ‼️ 92 000 000 94 860 000 (71 000 000; 117 500 000) 39 000 000 182 000 000
tests::events_logging_works 86 000 000; +33.33% ❗ 64 500 000 68 150 000 (51 000 000; 82 500 000) 20 000 000 134 000 000
tests::exit_handle 183 000 000; +171.11% ‼️ 67 500 000 70 770 000 (54 000 000; 86 500 000) 20 000 000 134 000 000
tests::exit_init 258 000 000; +201.75% ‼️ 85 500 000 84 480 000 (64 500 000; 100 000 000) 24 000 000 167 000 000
tests::gas_spent_precalculated 56 000 000; -10.40% ✔️ 62 500 000 65 310 000 (48 000 000; 78 500 000) 17 000 000 154 000 000
tests::gas_spent_vs_balance 324 000 000; +119.66% ‼️ 147 500 000 149 550 000 (117 000 000; 173 000 000) 68 000 000 287 000 000
tests::init_message_logging_works 154 000 000; +144.44% ‼️ 63 000 000 69 580 000 (50 000 000; 89 500 000) 21 000 000 129 000 000
tests::init_wait_reply_exit_cleaned_storage 366 000 000; +232.73% ‼️ 110 000 000 111 310 000 (86 500 000; 133 500 000) 48 000 000 214 000 000
tests::lazy_pages 135 000 000; +119.51% ‼️ 61 500 000 61 950 000 (45 500 000; 79 000 000) 18 000 000 134 000 000
tests::mailbox_works 132 000 000; +104.65% ❗ 64 500 000 67 020 000 (47 000 000; 84 000 000) 19 000 000 148 000 000
tests::memory_access_cases 71 000 000; +13.60% ✔️ 62 500 000 65 470 000 (46 000 000; 81 000 000) 19 000 000 169 000 000
tests::messages_processing_works 80 000 000; +25.00% ✔️ 64 000 000 66 010 000 (47 000 000; 83 000 000) 16 000 000 154 000 000
tests::messages_to_paused_program_skipped 66 000 000; -12.58% ✔️ 75 500 000 81 350 000 (62 000 000; 99 000 000) 25 000 000 184 000 000
tests::messages_to_uninitialized_program_wait 97 000 000; +21.25% ✔️ 80 000 000 81 010 000 (63 000 000; 100 000 000) 31 000 000 150 000 000
tests::no_redundant_gas_value_after_exiting 117 000 000; +73.33% ❗ 67 500 000 68 320 000 (50 000 000; 85 500 000) 18 000 000 148 000 000
tests::paused_program_keeps_id 325 000 000; +286.90% ‼️ 84 000 000 83 950 000 (69 500 000; 101 000 000) 29 000 000 162 000 000
tests::program_lifecycle_works 227 000 000; +269.11% ‼️ 61 500 000 64 720 000 (45 000 000; 82 000 000) 23 000 000 156 000 000
tests::program_messages_to_paused_program_skipped 241 000 000; +133.98% ‼️ 103 000 000 109 200 000 (85 500 000; 133 000 000) 53 000 000 190 000 000
tests::replies_to_paused_program_skipped 190 000 000; +145.16% ‼️ 77 500 000 78 820 000 (63 000 000; 94 500 000) 27 000 000 129 000 000
tests::restrict_start_section 127 000 000; +120.87% ‼️ 57 500 000 58 720 000 (41 000 000; 77 000 000) 12 000 000 112 000 000
tests::resume_program_works 458 000 000; +328.04% ‼️ 107 000 000 106 820 000 (86 000 000; 125 000 000) 45 000 000 194 000 000
tests::send_message_expected_failure 163 000 000; +181.03% ‼️ 58 000 000 62 360 000 (42 500 000; 80 000 000) 20 000 000 125 000 000
tests::send_message_works 266 000 000; +303.03% ‼️ 66 000 000 63 050 000 (42 000 000; 82 000 000) 17 000 000 125 000 000
tests::send_reply_failure_to_claim_from_mailbox 45 000 000; -29.13% ✔️ 63 500 000 65 180 000 (51 000 000; 79 500 000) 22 000 000 160 000 000
tests::send_reply_value_claiming_works 52 000 000; -19.38% ✔️ 64 500 000 68 080 000 (53 000 000; 81 000 000) 19 000 000 151 000 000
tests::send_reply_works 182 000 000; +180.00% ‼️ 65 000 000 64 970 000 (50 000 000; 80 000 000) 19 000 000 124 000 000
tests::spent_gas_to_reward_block_author_works 166 000 000; +186.21% ‼️ 58 000 000 59 600 000 (42 500 000; 73 500 000) 13 000 000 137 000 000
tests::submit_program_expected_failure 149 000 000; +168.47% ‼️ 55 500 000 60 220 000 (47 000 000; 73 000 000) 17 000 000 129 000 000
tests::submit_program_fails_on_duplicate_id 187 000 000; +225.22% ‼️ 57 500 000 59 420 000 (40 500 000; 75 000 000) 21 000 000 129 000 000
tests::test_async_messages 2 276 000 000; +420.23% ‼️ 437 500 000 436 570 000 (397 000 000; 466 000 000) 354 000 000 555 000 000
tests::test_code_is_not_reset_within_program_submission 84 000 000; +43.59% ❗ 58 500 000 60 620 000 (42 000 000; 73 500 000) 13 000 000 197 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 83 000 000; +52.29% ❗ 54 500 000 60 480 000 (42 500 000; 78 000 000) 26 000 000 124 000 000
tests::test_code_submission_pass 124 000 000; +127.52% ❗ 54 500 000 57 540 000 (42 500 000; 72 500 000) 16 000 000 134 000 000
tests::test_create_program_duplicate 162 000 000; +35.56% ❗ 119 500 000 121 650 000 (95 500 000; 144 000 000) 54 000 000 230 000 000
tests::test_create_program_duplicate_in_one_execution 79 000 000; -6.51% ✔️ 84 500 000 89 790 000 (69 000 000; 106 500 000) 36 000 000 179 000 000
tests::test_create_program_miscellaneous 97 000 000; -18.14% ✔️ 118 500 000 124 130 000 (100 500 000; 138 000 000) 54 000 000 243 000 000
tests::test_create_program_no_code_hash 386 000 000; +97.95% ‼️ 195 000 000 197 440 000 (172 500 000; 221 000 000) 117 000 000 316 000 000
tests::test_create_program_simple 402 000 000; +206.87% ‼️ 131 000 000 132 900 000 (103 500 000; 153 000 000) 65 000 000 262 000 000
tests::test_create_program_with_exceeding_value 197 000 000; +189.71% ‼️ 68 000 000 71 560 000 (53 500 000; 89 000 000) 27 000 000 141 000 000
tests::test_create_program_with_value_lt_ed 166 000 000; +82.42% ‼️ 91 000 000 91 480 000 (71 500 000; 111 500 000) 39 000 000 150 000 000
tests::test_create_program_without_gas_works 68 000 000; -2.86% ✔️ 70 000 000 73 830 000 (57 000 000; 85 500 000) 20 000 000 156 000 000
tests::test_message_processing_for_non_existing_destination 151 000 000; +174.55% ‼️ 55 000 000 58 970 000 (44 500 000; 74 000 000) 13 000 000 132 000 000
tests::test_reply_to_terminated_program 90 000 000; +33.33% ❗ 67 500 000 70 760 000 (55 500 000; 81 500 000) 36 000 000 175 000 000
tests::test_same_code_submission_fails 236 000 000; +321.43% ‼️ 56 000 000 56 690 000 (44 500 000; 68 500 000) 17 000 000 116 000 000
tests::test_two_contracts_composition_works 612 000 000; +245.76% ‼️ 177 000 000 179 710 000 (152 500 000; 205 000 000) 101 000 000 282 000 000
tests::uninitialized_program_should_accept_replies 220 000 000; +143.09% ‼️ 90 500 000 91 110 000 (71 000 000; 105 500 000) 34 000 000 161 000 000
tests::unstoppable_block_execution_works 106 000 000; +89.29% ❗ 56 000 000 60 800 000 (46 500 000; 75 500 000) 20 000 000 136 000 000
tests::unused_gas_released_back_works 127 000 000; +141.90% ❗ 52 500 000 56 990 000 (42 000 000; 70 000 000) 15 000 000 131 000 000
tests::wake_messages_after_program_inited 335 000 000; +102.42% ‼️ 165 500 000 164 630 000 (135 500 000; 187 000 000) 96 000 000 260 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 154 000 000; +327.78% ‼️ 36 000 000 39 840 000 (25 000 000; 52 000 000) 6 000 000 125 000 000
tests::check_changed_pages_in_storage 159 000 000; +200.00% ‼️ 53 000 000 57 350 000 (42 500 000; 69 000 000) 14 000 000 119 000 000
tests::debug_mode_works 135 000 000; +123.14% ‼️ 60 500 000 61 390 000 (49 500 000; 71 000 000) 13 000 000 123 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 159 000 000; +457.89% ‼️ 28 500 000 32 900 000 (19 500 000; 44 500 000) 5 000 000 107 000 000
tests::dequeued_impl_works_manually 107 000 000; +109.80% ❗ 51 000 000 50 390 000 (39 000 000; 61 000 000) 13 000 000 115 000 000
tests::queue_processing_impl_works_manually 108 000 000; +129.79% ‼️ 47 000 000 49 170 000 (38 000 000; 60 000 000) 17 000 000 97 000 000
tests::queue_works 142 000 000; +178.43% ‼️ 51 000 000 50 180 000 (35 500 000; 62 500 000) 12 000 000 110 000 000
tests::sent_impl_works 76 000 000; +58.33% ❗ 48 000 000 48 760 000 (39 000 000; 59 000 000) 14 000 000 95 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 84 000 000; +130.14% ❗ 36 500 000 36 850 000 (22 000 000; 53 000 000) 5 000 000 85 000 000
tests::custom_fee_multiplier_updated_per_block 167 000 000; +263.04% ‼️ 46 000 000 50 050 000 (35 500 000; 63 000 000) 16 000 000 108 000 000
tests::fee_rounding_error_bounded_by_multiplier 161 000 000; +235.42% ‼️ 48 000 000 48 550 000 (36 000 000; 60 500 000) 13 000 000 109 000 000
tests::mq_size_affecting_fee_works 171 000 000; +235.29% ‼️ 51 000 000 50 400 000 (34 500 000; 64 000 000) 7 000 000 110 000 000
tests::mq_size_not_affecting_fee_works 208 000 000; +328.87% ‼️ 48 500 000 47 620 000 (33 500 000; 60 000 000) 6 000 000 91 000 000
tests::query_info_and_fee_details_work 139 000 000; +202.17% ‼️ 46 000 000 48 080 000 (34 500 000; 60 000 000) 7 000 000 110 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 57 000 000; +65.22% ❗ 34 500 000 37 370 000 (24 500 000; 51 000 000) 4 000 000 90 000 000
tests::pause_program_twice_fails 92 000 000; +100.00% ❗ 46 000 000 47 020 000 (33 500 000; 58 500 000) 10 000 000 108 000 000
tests::pause_program_works 103 000 000; +53.73% ❗ 67 000 000 65 650 000 (48 500 000; 75 500 000) 20 000 000 123 000 000
tests::pause_terminated_program_fails 56 000 000; +16.67% ✔️ 48 000 000 47 500 000 (37 500 000; 59 000 000) 14 000 000 96 000 000
tests::pause_uninitialized_program_works 84 000 000; +37.70% ❗ 61 000 000 61 120 000 (47 000 000; 74 000 000) 22 000 000 116 000 000
tests::resume_program_twice_fails 67 000 000; -12.99% ✔️ 77 000 000 76 590 000 (58 000 000; 92 500 000) 33 000 000 152 000 000
tests::resume_program_wrong_list_fails 284 000 000; +300.00% ‼️ 71 000 000 71 670 000 (60 000 000; 82 500 000) 24 000 000 130 000 000
tests::resume_program_wrong_memory_fails 39 000 000; -39.06% ✔️ 64 000 000 66 680 000 (53 000 000; 76 000 000) 25 000 000 156 000 000
tests::resume_uninitialized_program_works 120 000 000; +81.82% ‼️ 66 000 000 68 960 000 (55 000 000; 83 500 000) 29 000 000 120 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 67 000 000; +86.11% ❗ 36 000 000 37 520 000 (26 000 000; 48 000 000) 4 000 000 88 000 000
tests::dust_discarded_with_noop 96 000 000; +100.00% ❗ 48 000 000 49 060 000 (37 000 000; 60 000 000) 8 000 000 101 000 000
tests::external_submitter_gets_rewarded 121 000 000; +146.94% ‼️ 49 000 000 50 470 000 (40 000 000; 60 000 000) 8 000 000 94 000 000
tests::gas_properly_handled_for_trap_replies 36 000 000; -23.40% ✔️ 47 000 000 48 160 000 (33 500 000; 57 000 000) 11 000 000 105 000 000
tests::ocw_double_charge 131 000 000; +184.78% ‼️ 46 000 000 48 820 000 (37 000 000; 59 500 000) 9 000 000 123 000 000
tests::ocw_interval_maintained 65 000 000; +51.16% ❗ 43 000 000 44 630 000 (31 500 000; 55 500 000) 10 000 000 116 000 000
tests::ocw_interval_stretches_for_large_wait_list 77 000 000; +63.83% ❗ 47 000 000 47 030 000 (35 000 000; 57 000 000) 16 000 000 102 000 000
tests::ocw_overlapping_prevented 101 000 000; +129.55% ‼️ 44 000 000 44 950 000 (34 000 000; 57 500 000) 9 000 000 90 000 000
tests::rent_charge_works 80 000 000; +90.48% ❗ 42 000 000 42 740 000 (31 000 000; 52 500 000) 10 000 000 96 000 000
tests::trap_reply_message_is_sent 271 000 000; +530.23% ‼️ 43 000 000 42 580 000 (32 000 000; 54 500 000) 10 000 000 90 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 499 135 840 318; +210.82% ‼️ 160 587 037 961 160 517 933 269 (160 041 000 092; 160 916 096 757) 158 877 287 686 162 024 272 086

name = Async RwLock

name current median average lower/upper quartile min max
check readers 3 221 143 893; +8730.38% ‼️ 36 477 987 41 339 320 (33 378 552; 41 636 758) 24 486 527 119 171 196
forever lock 3 832 623 968; +7824.78% ‼️ 48 362 516 56 217 995 (43 798 225; 57 936 881) 29 720 472 136 945 158
read while writing 4 123 120 083; +4801.79% ‼️ 84 114 570 93 578 811 (75 509 937; 96 622 580) 55 880 350 174 104 883
rwlock wide 10 948 786 947; +5200.17% ‼️ 206 574 242 197 141 210 (174 614 837; 216 037 197) 129 371 287 247 566 903
write while reading 7 052 757 701; +6664.91% ‼️ 104 254 953 117 594 560 (94 688 839; 138 025 005) 76 434 464 190 937 079

name = Async init

name current median average lower/upper quartile min max
approved pong 28 088 149 241; +65.74% ‼️ 16 947 196 704 16 972 502 021 (16 834 604 640; 17 083 296 332) 16 618 131 032 17 469 689 672

name = Async-await

name current median average lower/upper quartile min max
normal 6 216 375 048; +8407.61% ‼️ 73 068 388 72 080 150 (66 218 906; 78 830 360) 30 024 553 97 629 903
panic 6 504 745 679; +13492.00% ‼️ 47 857 147 55 530 013 (38 411 124; 74 877 920) 29 940 132 99 728 997

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 9 887 646 783; +7934.37% ‼️ 123 066 896 116 613 037 (108 802 319; 133 600 347) 53 010 314 145 495 243

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 17 229 544 972; +85.16% ‼️ 9 305 441 902 9 312 638 848 (9 174 095 144; 9 444 019 054) 8 997 949 814 9 674 684 409
2 of 3; bob & eve 12 710 956 667; +35.80% ‼️ 9 360 123 166 9 337 065 038 (9 230 493 754; 9 444 228 734) 9 022 372 532 9 731 013 763
2 of 3; eve & alice 16 997 392 610; +82.80% ‼️ 9 298 290 475 9 306 980 497 (9 195 404 835; 9 406 389 433) 8 847 424 676 9 774 983 827
2 of 3; eve doesn't answer, alice replies with incorrect payload 14 807 914 280; +61.43% ‼️ 9 173 116 701 9 192 173 956 (9 045 440 084; 9 328 566 108) 8 819 440 370 9 647 507 506
2 of 3; no replies 11 410 120 721; +26.23% ‼️ 9 038 858 672 9 031 412 543 (8 894 638 663; 9 173 436 365) 8 525 852 871 9 408 361 700
Single signatory & zero threshold 14 016 931 500; +51.90% ‼️ 9 227 481 252 9 223 418 565 (9 112 104 651; 9 367 083 246) 8 807 328 432 9 558 629 224
Three signatories & redundand threshold 17 386 991 548; +84.83% ‼️ 9 406 786 643 9 435 950 604 (9 318 548 003; 9 550 035 065) 9 132 692 220 9 896 694 449
Three signatories; Bob replies with incorrect signature 15 801 417 315; +71.28% ‼️ 9 225 224 537 9 207 451 924 (9 064 649 740; 9 332 280 097) 8 834 173 487 9 617 621 239
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 052 188 792; +53.00% ‼️ 9 184 518 005 9 180 645 387 (9 046 150 365; 9 290 615 622) 8 591 820 423 9 720 258 756

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 9 306 917 213; +88.93% ‼️ 4 926 229 128 4 894 592 142 (4 763 775 896; 5 033 047 796) 4 316 734 055 5 258 529 149
correct signature but for another message 16 857 709 014; +232.78% ‼️ 5 065 755 528 5 046 042 565 (4 937 509 830; 5 169 028 710) 4 552 202 922 5 401 343 955
no reply 8 567 787 395; +74.36% ‼️ 4 913 806 117 4 901 748 852 (4 804 107 735; 5 028 554 577) 4 382 815 813 5 270 406 553
signed message 16 948 013 030; +234.62% ‼️ 5 064 919 354 5 042 896 024 (4 911 859 167; 5 186 020 085) 4 615 107 352 5 390 320 935

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 6 884 932 752; +8969.51% ‼️ 75 912 982 76 238 746 (69 482 842; 85 399 448) 37 218 640 112 167 227

name = Decoder

name current median average lower/upper quartile min max
decoder 5 119 171 998; +9733.31% ‼️ 52 059 525 49 652 721 (27 304 261; 69 679 895) 16 473 338 97 804 815

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 11 808 025 054; +4354.68% ‼️ 265 069 819 252 253 020 (222 173 883; 276 890 667) 151 535 569 329 979 200
join 5 161 378 202; +2729.20% ‼️ 182 432 242 194 415 938 (165 974 878; 208 500 518) 133 156 569 354 603 721
select 7 294 206 664; +3843.99% ‼️ 184 944 781 200 184 699 (171 146 217; 236 697 998) 122 980 717 342 210 629

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 4 619 780 092; +2193.93% ‼️ 201 391 576 195 036 419 (165 421 647; 223 960 161) 107 821 132 281 613 879

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 6 676 395 618; +8591.85% ‼️ 76 812 179 77 411 134 (70 341 673; 83 730 973) 39 743 118 112 407 121

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 9 734 158 060; +13284.94% ‼️ 72 724 705 61 428 322 (29 315 807; 88 214 084) 17 143 815 110 313 117

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 27 303 458 139; +71.10% ‼️ 15 957 541 682 15 965 405 895 (15 804 320 171; 16 121 108 701) 15 562 758 251 16 665 626 479

name = Multiping

name current median average lower/upper quartile min max
multiping 4 656 674 394; +7569.92% ‼️ 60 713 469 55 671 976 (34 151 154; 70 980 812) 21 939 209 90 597 352

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 1 600 273 784; +5405.39% ‼️ 29 067 382 39 278 937 (21 175 145; 59 169 352) 15 682 519 88 654 038
ping-pong wgas 1 803 459 831; +4880.58% ‼️ 36 209 804 43 380 165 (31 487 569; 45 536 285) 22 077 151 94 252 538

name = Program_id test

name current median average lower/upper quartile min max
program_id 4 325 180 238; +7734.79% ‼️ 55 204 812 46 903 523 (26 407 142; 63 030 518) 19 914 500 84 661 180

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 5 672 476 615; +12988.75% ‼️ 43 338 581 54 591 765 (35 454 182; 77 447 411) 26 691 971 101 588 263
state-saving 5 516 642 350; +14792.53% ‼️ 37 043 027 41 361 041 (31 314 174; 43 047 407) 23 748 987 92 050 098

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 3 415 389 638; +5120.61% ‼️ 65 421 275 63 064 211 (57 519 911; 72 641 429) 21 272 979 98 411 543
Try to re-init existing program 5 753 323 437; +10291.26% ‼️ 55 366 951 66 591 540 (47 744 271; 86 813 584) 31 694 789 109 783 645

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 462 934 797; +2278.81% ‼️ 19 460 765 29 006 598 (13 232 994; 48 144 727) 9 040 592 68 904 349

name = Wait test

name current median average lower/upper quartile min max
wait 5 924 239 053; +11606.57% ‼️ 50 606 117 58 185 429 (39 877 139; 77 879 606) 28 110 720 105 482 152

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 11 834 014 598; +5120.93% ‼️ 226 664 816 230 150 060 (195 593 612; 267 568 736) 143 023 964 303 697 299

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 8 685 089 616; +10100.89% ‼️ 85 140 480 85 698 323 (78 336 575; 93 317 214) 61 507 938 113 334 737

name = guestbook test

name current median average lower/upper quartile min max
guestbook 16 748 437 121; +87.81% ‼️ 8 917 914 103 8 913 137 009 (8 775 586 734; 9 036 762 938) 8 530 697 959 9 526 757 869

name = gui test

name current median average lower/upper quartile min max
gui 22 274 078 560; +95.60% ‼️ 11 387 342 574 11 389 629 894 (11 260 996 616; 11 502 746 035) 11 004 931 551 11 839 892 969

@codecov
Copy link

codecov bot commented Jun 16, 2022

Codecov Report

Merging #1066 (f424f34) into master (0b1090a) will decrease coverage by 0.52%.
The diff coverage is 87.50%.

@@            Coverage Diff             @@
##           master    #1066      +/-   ##
==========================================
- Coverage   75.22%   74.70%   -0.53%     
==========================================
  Files          95       97       +2     
  Lines        9045     9175     +130     
==========================================
+ Hits         6804     6854      +50     
- Misses       2241     2321      +80     
Impacted Files Coverage Δ
core-backend/sandbox/src/funcs.rs 81.17% <0.00%> (ø)
core-errors/src/lib.rs 100.00% <ø> (ø)
core-processor/src/common.rs 65.38% <ø> (-2.62%) ⬇️
core-processor/src/configs.rs 93.33% <ø> (ø)
pallets/gear/src/lib.rs 58.12% <ø> (-1.17%) ⬇️
core-backend/common/src/lib.rs 71.42% <71.42%> (ø)
pallets/usage/src/lib.rs 47.70% <72.72%> (+0.10%) ⬆️
gtest/src/log.rs 57.26% <75.00%> (-0.63%) ⬇️
pallets/gear/src/manager.rs 77.59% <87.50%> (-5.80%) ⬇️
pallets/gear/src/tests.rs 88.27% <94.73%> (-6.68%) ⬇️
... and 16 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 0b1090a...f424f34. Read the comment docs.

core/src/message/reply.rs Outdated Show resolved Hide resolved
@breathx breathx requested a review from shamilsan June 19, 2022 20:44
@breathx
Copy link
Member Author

breathx commented Jun 19, 2022

One more related issue opened. It's about extended capabilities of this PR: #1084.

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.

Looks good to me! ⚙️

pallets/usage/src/lib.rs Show resolved Hide resolved
@breathx breathx added A2-mergeoncegreen PR is ready to merge after CI passes and removed A0-pleasereview PR is ready to be reviewed by the team labels Jun 22, 2022
@breathx breathx merged commit 4d7b7dd into master Jun 22, 2022
@breathx breathx deleted the dn-error-replies-payload branch June 22, 2022 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A2-mergeoncegreen PR is ready to merge after CI passes B1-releasenotes The feature deserves to be added to the Release Notes C1-feature Feature request D1-core Gear Core D2-node Gear Node
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Paste error explanation into error replies
5 participants