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

Add core_processor::prepare method #1211

Merged
merged 26 commits into from
Aug 2, 2022
Merged

Add core_processor::prepare method #1211

merged 26 commits into from
Aug 2, 2022

Conversation

gshep
Copy link
Member

@gshep gshep commented Jul 20, 2022

Resolves #1088 , #1182

  • introduce prepare method. It checks if provided actor is executable, if code contains required export and tries to pre-charge for memory pages
  • remove process_executable function
  • add test cases that execution of programs with missing exports is free
  • adjust calculate_gas_info: add GasInfo::may_be_returned if a program happens to be executed repeatedly in a block.

Supersedes #1162 , #1183 .

@gear-tech/dev

@osipov-mit please also check this.

@gshep gshep added A0-pleasereview PR is ready to be reviewed by the team D1-core Gear Core C2-refactoring Refactoring proposal labels Jul 20, 2022
@gshep gshep requested review from techraed, osipov-mit and breathx July 20, 2022 13:24
@gshep gshep self-assigned this Jul 20, 2022
@gshep gshep added D2-node Gear Node C1-feature Feature request and removed C2-refactoring Refactoring proposal labels Jul 20, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jul 20, 2022

cfbf941
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 69 586 000 000; +1579.00% ‼️ 4 144 500 000 4 791 029 999 (4 021 500 000; 4 273 000 000) 3 744 000 000 68 447 999 999

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 48 000 000; +269.23% ❗ 13 000 000 18 580 000 (7 000 000; 21 500 000) 4 000 000 106 000 000
schedule::test::print_test_schedule 120 000 000; +900.00% ‼️ 12 000 000 18 890 000 (7 000 000; 25 000 000) 3 000 000 94 000 000
tests::block_gas_limit_works 115 000 000; +411.11% ‼️ 22 500 000 28 710 000 (17 000 000; 34 500 000) 11 000 000 105 000 000
tests::call_forbidden_function 271 000 000; +1326.32% ‼️ 19 000 000 27 060 000 (11 000 000; 37 000 000) 8 000 000 150 000 000
tests::cascading_messages_with_value_do_not_overcharge 651 000 000; +665.88% ‼️ 85 000 000 88 960 000 (75 000 000; 98 500 000) 61 000 000 158 000 000
tests::claim_value_from_mailbox_works 158 000 000; +544.90% ‼️ 24 500 000 30 250 000 (16 000 000; 43 000 000) 8 000 000 123 000 000
tests::defer_program_initialization 152 000 000; +310.81% ‼️ 37 000 000 41 570 000 (28 500 000; 51 500 000) 23 000 000 92 000 000
tests::distributor_distribute 352 000 000; +1035.48% ‼️ 31 000 000 36 250 000 (22 000 000; 45 000 000) 15 000 000 96 000 000
tests::distributor_initialize 216 000 000; +819.15% ‼️ 23 500 000 29 810 000 (17 000 000; 39 500 000) 11 000 000 87 000 000
tests::events_logging_works 99 000 000; +266.67% ❗ 27 000 000 32 040 000 (16 000 000; 46 000 000) 9 000 000 113 000 000
tests::execution_over_blocks 1 734 000 000; +490.80% ‼️ 293 500 000 301 050 000 (283 000 000; 310 500 000) 256 000 000 386 000 000
tests::exit_handle 89 000 000; +235.85% ‼️ 26 500 000 31 660 000 (16 500 000; 45 000 000) 7 000 000 84 000 000
tests::exit_init 104 000 000; +215.15% ❗ 33 000 000 39 450 000 (20 000 000; 49 000 000) 11 000 000 114 000 000
tests::gas_spent_precalculated 80 000 000; +185.71% ❗ 28 000 000 35 880 000 (17 000 000; 49 000 000) 9 000 000 159 000 000
tests::gas_spent_vs_balance 258 000 000; +337.29% ‼️ 59 000 000 62 120 000 (46 000 000; 76 500 000) 33 000 000 142 000 000
tests::init_message_logging_works 182 000 000; +538.60% ‼️ 28 500 000 35 330 000 (16 000 000; 49 500 000) 8 000 000 116 000 000
tests::init_wait_reply_exit_cleaned_storage 127 000 000; +185.39% ‼️ 44 500 000 49 450 000 (36 000 000; 59 000 000) 24 000 000 119 000 000
tests::lazy_pages 138 000 000; +283.33% ‼️ 36 000 000 39 910 000 (20 500 000; 59 000 000) 8 000 000 104 000 000
tests::mailbox_threshold_works 200 000 000; +321.05% ‼️ 47 500 000 50 290 000 (35 000 000; 65 000 000) 21 000 000 113 000 000
tests::mailbox_works 60 000 000; +57.89% ❗ 38 000 000 40 740 000 (22 000 000; 54 500 000) 8 000 000 117 000 000
tests::memory_access_cases 212 000 000; +443.59% ‼️ 39 000 000 40 900 000 (25 000 000; 53 500 000) 9 000 000 115 000 000
tests::messages_processing_works 315 000 000; +607.87% ‼️ 44 500 000 44 040 000 (27 000 000; 59 500 000) 8 000 000 109 000 000
tests::messages_to_paused_program_skipped 112 000 000; +163.53% ‼️ 42 500 000 45 000 000 (27 500 000; 58 500 000) 14 000 000 103 000 000
tests::messages_to_uninitialized_program_wait 171 000 000; +312.05% ‼️ 41 500 000 45 140 000 (27 500 000; 59 500 000) 12 000 000 131 000 000
tests::no_redundant_gas_value_after_exiting 84 000 000; +121.05% ❗ 38 000 000 41 810 000 (26 000 000; 52 000 000) 8 000 000 115 000 000
tests::paused_program_keeps_id 61 000 000; +32.61% ❗ 46 000 000 47 760 000 (32 000 000; 61 000 000) 15 000 000 125 000 000
tests::program_lifecycle_works 108 000 000; +176.92% ❗ 39 000 000 42 470 000 (26 500 000; 56 500 000) 6 000 000 114 000 000
tests::program_messages_to_paused_program_skipped 376 000 000; +577.48% ‼️ 55 500 000 58 470 000 (38 500 000; 74 000 000) 22 000 000 155 000 000
tests::replies_to_paused_program_skipped 109 000 000; +156.47% ❗ 42 500 000 46 390 000 (29 000 000; 56 000 000) 12 000 000 132 000 000
tests::restrict_start_section 110 000 000; +168.29% ❗ 41 000 000 44 430 000 (27 500 000; 58 500 000) 4 000 000 129 000 000
tests::resume_program_works 95 000 000; +90.00% ❗ 50 000 000 55 290 000 (38 500 000; 66 500 000) 24 000 000 151 000 000
tests::send_message_expected_failure 81 000 000; +110.39% ❗ 38 500 000 41 130 000 (24 500 000; 51 500 000) 7 000 000 119 000 000
tests::send_message_works 54 000 000; +30.12% ✔️ 41 500 000 44 720 000 (29 000 000; 54 500 000) 7 000 000 125 000 000
tests::send_reply_failure_to_claim_from_mailbox 80 000 000; +107.79% ❗ 38 500 000 43 540 000 (29 000 000; 53 500 000) 10 000 000 125 000 000
tests::send_reply_value_claiming_works 80 000 000; +95.12% ❗ 41 000 000 44 980 000 (27 000 000; 59 500 000) 12 000 000 113 000 000
tests::send_reply_works 293 000 000; +614.63% ‼️ 41 000 000 43 720 000 (27 000 000; 57 000 000) 10 000 000 123 000 000
tests::spent_gas_to_reward_block_author_works 148 000 000; +265.43% ‼️ 40 500 000 41 580 000 (24 000 000; 54 000 000) 8 000 000 117 000 000
tests::submit_program_expected_failure 140 000 000; +237.35% ‼️ 41 500 000 43 690 000 (24 500 000; 57 500 000) 8 000 000 137 000 000
tests::submit_program_fails_on_duplicate_id 135 000 000; +241.77% ‼️ 39 500 000 44 010 000 (27 000 000; 54 000 000) 9 000 000 101 000 000
tests::test_async_messages 1 076 000 000; +394.71% ‼️ 217 500 000 217 230 000 (203 000 000; 232 000 000) 176 000 000 276 000 000
tests::test_code_is_not_reset_within_program_submission 284 000 000; +592.68% ‼️ 41 000 000 43 450 000 (29 000 000; 55 500 000) 9 000 000 106 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 91 000 000; +139.47% ❗ 38 000 000 41 410 000 (28 000 000; 51 000 000) 6 000 000 119 000 000
tests::test_code_submission_pass 60 000 000; +71.43% ❗ 35 000 000 37 910 000 (25 000 000; 47 500 000) 6 000 000 101 000 000
tests::test_create_program_duplicate 330 000 000; +511.11% ‼️ 54 000 000 57 900 000 (47 000 000; 67 500 000) 30 000 000 120 000 000
tests::test_create_program_duplicate_in_one_execution 113 000 000; +159.77% ‼️ 43 500 000 48 510 000 (32 000 000; 64 000 000) 18 000 000 109 000 000
tests::test_create_program_miscellaneous 593 000 000; +922.41% ‼️ 58 000 000 60 600 000 (42 000 000; 75 000 000) 29 000 000 120 000 000
tests::test_create_program_no_code_hash 437 000 000; +388.27% ‼️ 89 500 000 92 190 000 (80 000 000; 103 000 000) 57 000 000 159 000 000
tests::test_create_program_simple 312 000 000; +358.82% ‼️ 68 000 000 66 780 000 (54 000 000; 79 000 000) 34 000 000 125 000 000
tests::test_create_program_with_exceeding_value 424 000 000; +852.81% ‼️ 44 500 000 47 080 000 (32 000 000; 59 000 000) 15 000 000 105 000 000
tests::test_create_program_with_value_lt_ed 421 000 000; +825.27% ‼️ 45 500 000 49 120 000 (33 000 000; 60 500 000) 20 000 000 129 000 000
tests::test_create_program_without_gas_works 419 000 000; +921.95% ‼️ 41 000 000 42 800 000 (26 000 000; 53 000 000) 13 000 000 123 000 000
tests::test_message_processing_for_non_existing_destination 330 000 000; +780.00% ‼️ 37 500 000 40 250 000 (26 500 000; 52 000 000) 9 000 000 96 000 000
tests::test_reply_to_terminated_program 415 000 000; +888.10% ‼️ 42 000 000 43 490 000 (28 000 000; 57 000 000) 14 000 000 108 000 000
tests::test_same_code_submission_fails 422 000 000; +955.00% ‼️ 40 000 000 41 530 000 (26 500 000; 53 500 000) 7 000 000 100 000 000
tests::test_two_contracts_composition_works 296 000 000; +305.48% ‼️ 73 000 000 73 830 000 (61 500 000; 83 000 000) 43 000 000 148 000 000
tests::uninitialized_program_should_accept_replies 376 000 000; +652.00% ‼️ 50 000 000 51 350 000 (36 500 000; 62 000 000) 23 000 000 104 000 000
tests::unstoppable_block_execution_works 168 000 000; +342.11% ‼️ 38 000 000 42 020 000 (28 000 000; 55 000 000) 12 000 000 115 000 000
tests::unused_gas_released_back_works 533 000 000; +1232.50% ‼️ 40 000 000 40 560 000 (27 500 000; 51 000 000) 6 000 000 102 000 000
tests::wake_messages_after_program_inited 820 000 000; +937.97% ‼️ 79 000 000 80 510 000 (68 500 000; 94 000 000) 47 000 000 117 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 260 000 000; +712.50% ‼️ 32 000 000 33 140 000 (15 500 000; 48 000 000) 5 000 000 92 000 000
tests::check_changed_pages_in_storage 252 000 000; +563.16% ‼️ 38 000 000 38 900 000 (24 500 000; 49 000 000) 10 000 000 95 000 000
tests::check_not_allocated_pages 224 000 000; +481.82% ‼️ 38 500 000 39 170 000 (26 500 000; 48 000 000) 7 000 000 90 000 000
tests::debug_mode_works 488 000 000; +1184.21% ‼️ 38 000 000 39 500 000 (26 000 000; 49 000 000) 9 000 000 99 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 224 000 000; +672.41% ‼️ 29 000 000 31 060 000 (15 000 000; 42 000 000) 3 000 000 92 000 000
tests::all_keys_are_cleared 312 000 000; +743.24% ‼️ 37 000 000 38 180 000 (23 500 000; 48 500 000) 7 000 000 93 000 000
tests::can_cut_nodes 544 000 000; +1500.00% ‼️ 34 000 000 36 270 000 (23 000 000; 48 000 000) 9 000 000 80 000 000
tests::catch_value_all_blocked 456 000 000; +1184.51% ‼️ 35 500 000 36 450 000 (23 000 000; 48 000 000) 7 000 000 93 000 000
tests::catch_value_all_catch 544 000 000; +1500.00% ‼️ 34 000 000 38 030 000 (23 000 000; 52 500 000) 6 000 000 87 000 000
tests::gas_free_after_consumed 592 000 000; +1840.98% ‼️ 30 500 000 34 860 000 (22 000 000; 47 000 000) 5 000 000 87 000 000
tests::limit_vs_origin 481 000 000; +1357.58% ‼️ 33 000 000 36 110 000 (25 000 000; 45 000 000) 5 000 000 87 000 000
tests::long_chain 192 000 000; +464.71% ‼️ 34 000 000 38 500 000 (21 000 000; 50 000 000) 6 000 000 108 000 000
tests::simple_value_tree 200 000 000; +545.16% ‼️ 31 000 000 33 190 000 (21 500 000; 41 500 000) 5 000 000 85 000 000
tests::split_with_no_value 192 000 000; +540.00% ‼️ 30 000 000 32 540 000 (17 000 000; 44 500 000) 5 000 000 89 000 000
tests::splits_fail 188 000 000; +526.67% ‼️ 30 000 000 32 030 000 (19 500 000; 43 500 000) 4 000 000 87 000 000
tests::sub_nodes_tree_with_spends 362 000 000; +1127.12% ‼️ 29 500 000 32 200 000 (19 000 000; 41 000 000) 6 000 000 83 000 000
tests::subtree_gas_limit_remains_intact 428 000 000; +1401.75% ‼️ 28 500 000 30 430 000 (20 000 000; 39 000 000) 6 000 000 82 000 000
tests::test_consume_procedure_with_subnodes 429 000 000; +1354.24% ‼️ 29 500 000 31 820 000 (20 000 000; 43 000 000) 6 000 000 77 000 000
tests::test_imbalances_drop 400 000 000; +1328.57% ‼️ 28 000 000 31 950 000 (18 000 000; 44 500 000) 4 000 000 87 000 000
tests::value_tree_known_errors 428 000 000; +1280.65% ‼️ 31 000 000 32 130 000 (20 000 000; 41 500 000) 5 000 000 79 000 000
tests::value_tree_with_all_kinds_of_nodes 124 000 000; +306.56% ‼️ 30 500 000 33 360 000 (21 000 000; 44 500 000) 6 000 000 77 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 126 000 000; +500.00% ‼️ 21 000 000 25 840 000 (11 000 000; 39 000 000) 4 000 000 72 000 000
tests::dequeued_impl_works_manually 302 000 000; +978.57% ‼️ 28 000 000 31 040 000 (16 000 000; 43 500 000) 6 000 000 72 000 000
tests::queue_processing_impl_works_manually 300 000 000; +883.61% ‼️ 30 500 000 31 710 000 (17 000 000; 45 000 000) 6 000 000 68 000 000
tests::queue_works 298 000 000; +1003.70% ‼️ 27 000 000 29 900 000 (18 000 000; 39 500 000) 5 000 000 86 000 000
tests::sent_impl_works 298 000 000; +1116.33% ‼️ 24 500 000 29 020 000 (17 000 000; 41 000 000) 4 000 000 73 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 392 000 000; +1723.26% ‼️ 21 500 000 25 110 000 (10 000 000; 37 500 000) 4 000 000 73 000 000
tests::custom_fee_multiplier_updated_per_block 118 000 000; +353.85% ‼️ 26 000 000 28 330 000 (20 000 000; 38 000 000) 5 000 000 61 000 000
tests::fee_rounding_error_bounded_by_multiplier 272 000 000; +854.39% ‼️ 28 500 000 30 030 000 (20 000 000; 38 000 000) 5 000 000 81 000 000
tests::mq_size_affecting_fee_works 272 000 000; +907.41% ‼️ 27 000 000 28 400 000 (16 000 000; 39 000 000) 5 000 000 60 000 000
tests::mq_size_not_affecting_fee_works 269 000 000; +860.71% ‼️ 28 000 000 28 690 000 (18 500 000; 38 000 000) 5 000 000 60 000 000
tests::query_info_and_fee_details_work 300 000 000; +990.91% ‼️ 27 500 000 28 860 000 (20 000 000; 36 000 000) 5 000 000 58 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 264 000 000; +1157.14% ‼️ 21 000 000 24 260 000 (13 000 000; 34 000 000) 4 000 000 58 000 000
tests::pause_program_twice_fails 279 000 000; +973.08% ‼️ 26 000 000 28 300 000 (20 000 000; 36 000 000) 6 000 000 55 000 000
tests::pause_program_works 264 000 000; +725.00% ‼️ 32 000 000 32 560 000 (25 500 000; 39 000 000) 12 000 000 57 000 000
tests::pause_terminated_program_fails 329 000 000; +1165.38% ‼️ 26 000 000 27 340 000 (17 000 000; 37 500 000) 4 000 000 55 000 000
tests::pause_uninitialized_program_works 264 000 000; +780.00% ‼️ 30 000 000 30 000 000 (21 500 000; 38 000 000) 12 000 000 62 000 000
tests::resume_program_twice_fails 253 000 000; +644.12% ‼️ 34 000 000 35 100 000 (28 000 000; 41 000 000) 17 000 000 63 000 000
tests::resume_program_wrong_list_fails 326 000 000; +968.85% ‼️ 30 500 000 31 680 000 (23 000 000; 40 000 000) 15 000 000 63 000 000
tests::resume_program_wrong_memory_fails 332 000 000; +1006.67% ‼️ 30 000 000 33 400 000 (24 000 000; 42 000 000) 14 000 000 91 000 000
tests::resume_uninitialized_program_works 260 000 000; +712.50% ‼️ 32 000 000 32 980 000 (23 500 000; 39 500 000) 14 000 000 89 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 306 000 000; +1430.00% ‼️ 20 000 000 21 270 000 (12 000 000; 29 000 000) 3 000 000 51 000 000
tests::gear_handles_outdated_tasks 359 000 000; +1460.87% ‼️ 23 000 000 25 540 000 (16 000 000; 36 000 000) 6 000 000 59 000 000
tests::gear_handles_tasks 304 000 000; +1166.67% ‼️ 24 000 000 25 210 000 (16 500 000; 32 000 000) 7 000 000 76 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 199 665 134 666; +135.92% ‼️ 84 631 106 729 84 628 899 428 (84 488 618 642; 84 777 781 940) 84 065 305 876 85 119 528 423

name = Async RwLock

name current median average lower/upper quartile min max
check readers 674 545 257; +682.91% ‼️ 86 158 240 87 556 900 (83 610 457; 91 435 769) 56 796 541 101 463 936
forever lock 655 348 597; +619.88% ‼️ 91 036 104 92 805 503 (87 057 363; 97 145 927) 82 287 009 110 413 411
read while writing 942 953 090; +800.63% ‼️ 104 699 189 106 577 031 (100 935 965; 110 066 764) 93 357 076 139 833 331
rwlock wide 2 166 371 325; +1606.91% ‼️ 126 917 586 129 609 877 (120 233 939; 133 750 892) 112 719 956 176 218 596
write while reading 973 098 564; +790.13% ‼️ 109 320 515 111 115 724 (104 931 198; 114 016 981) 96 511 037 149 310 552

name = Async init

name current median average lower/upper quartile min max
approved pong 10 773 425 188; +2.70% ‼️ 10 489 918 816 10 487 261 090 (10 438 660 206; 10 528 494 344) 10 334 063 865 10 719 078 827

name = Async-await

name current median average lower/upper quartile min max
async-await 2 127 263 117; +1488.70% ‼️ 133 899 849 137 337 289 (127 733 699; 141 737 125) 117 914 669 184 930 475
mutex 2 132 623 451; +1518.02% ‼️ 131 804 328 134 158 684 (125 694 057; 138 849 303) 116 448 786 192 157 875
rwlock-write 2 331 261 419; +1657.63% ‼️ 132 636 542 134 602 374 (123 610 223; 140 035 045) 115 597 433 183 975 745

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 900 155 549; +856.59% ‼️ 94 100 896 95 118 352 (89 902 376; 98 353 334) 80 935 575 119 864 529

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 19 334 314 475; +287.17% ‼️ 4 993 780 971 4 996 795 676 (4 974 899 539; 5 018 575 622) 4 869 355 321 5 089 174 766
2 of 3; bob & eve 5 782 625 510; +15.57% ‼️ 5 003 386 669 5 002 850 782 (4 982 311 012; 5 029 099 125) 4 901 247 737 5 073 430 629
2 of 3; eve & alice 19 326 667 455; +286.76% ‼️ 4 997 059 760 4 992 695 718 (4 970 389 632; 5 016 946 001) 4 903 916 134 5 068 391 637
2 of 3; eve doesn't answer, alice replies with incorrect payload 16 530 890 157; +233.26% ‼️ 4 960 356 665 4 961 717 854 (4 945 572 993; 4 979 258 031) 4 879 815 719 5 040 813 089
2 of 3; no replies 5 790 289 043; +18.40% ‼️ 4 890 426 157 4 890 063 351 (4 863 436 729; 4 911 505 760) 4 818 393 123 5 055 141 709
Single signatory & zero threshold 17 433 386 721; +251.91% ‼️ 4 953 949 662 4 948 817 078 (4 918 766 057; 4 976 849 517) 4 862 777 228 5 038 453 200
Three signatories; Bob replies with incorrect signature 17 255 660 665; +247.59% ‼️ 4 964 325 885 4 959 900 799 (4 935 816 212; 4 984 734 240) 4 840 728 216 5 067 754 873
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 17 301 062 064; +248.91% ‼️ 4 958 572 470 4 950 070 011 (4 929 103 071; 4 973 255 852) 4 820 101 167 5 061 180 208

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 508 813 876; +42.26% ‼️ 2 466 523 418 2 463 989 184 (2 447 786 240; 2 481 008 173) 2 404 798 422 2 512 424 576
correct signature but for another message 3 278 075 563; +30.28% ‼️ 2 516 086 062 2 514 862 047 (2 494 694 409; 2 536 760 345) 2 450 226 768 2 573 172 964
no reply 3 120 641 879; +27.43% ‼️ 2 448 989 809 2 451 086 928 (2 437 473 358; 2 465 227 085) 2 391 176 740 2 512 189 145
signed message 3 631 784 608; +44.60% ‼️ 2 511 688 925 2 515 143 202 (2 491 697 790; 2 539 501 529) 2 432 947 388 2 580 284 422

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 601 061 376; +1212.79% ‼️ 274 305 971 276 125 696 (265 547 985; 284 904 986) 252 843 906 328 733 688

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 582 352 035; +654.68% ‼️ 77 165 158 78 482 143 (74 615 096; 81 937 441) 62 024 411 104 752 796

name = Chat

name current median average lower/upper quartile min max
chat 1 322 910 662; +1178.70% ‼️ 103 457 139 106 514 329 (99 230 604; 111 692 395) 90 770 803 138 008 890

name = Decoder

name current median average lower/upper quartile min max
decoder 10 060 600; -86.12% ✔️ 72 487 729 73 757 216 (70 269 061; 76 311 640) 63 053 629 92 483 840

name = Exit code

name current median average lower/upper quartile min max
normal 303 812 321; +335.65% ‼️ 69 737 072 69 669 151 (65 401 923; 73 576 919) 55 724 677 90 802 215
panic 484 192 216; +572.43% ‼️ 72 006 493 73 046 356 (68 478 819; 77 175 664) 58 569 689 92 276 344

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 820 542 236; +1780.67% ‼️ 149 975 386 151 634 295 (143 763 084; 157 731 840) 132 437 674 194 108 407
join 2 746 463 630; +1733.58% ‼️ 149 786 764 152 586 823 (143 048 719; 157 497 320) 134 624 729 197 555 954
select 2 768 083 236; +1787.20% ‼️ 146 676 703 148 522 004 (140 322 169; 154 472 429) 128 755 588 197 321 836

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 836 695 829; +529.46% ‼️ 132 923 631 134 972 101 (126 024 514; 139 986 658) 115 081 661 175 243 625

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 279 838 654; +280.41% ‼️ 73 563 166 74 809 675 (68 080 001; 78 654 397) 58 039 568 101 688 104

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 630 310 621; +676.01% ‼️ 81 225 025 82 888 057 (78 840 534; 85 465 855) 72 469 407 97 469 845

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 280 738 285; +5.58% ‼️ 9 737 327 815 9 736 014 437 (9 708 378 497; 9 770 829 090) 9 611 671 036 9 848 448 660

name = Multiping

name current median average lower/upper quartile min max
multiping 278 439 083; +323.61% ‼️ 65 729 773 66 860 326 (62 048 900; 71 999 563) 53 173 183 99 485 998

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 246 278 637; +271.54% ‼️ 66 285 967 66 395 318 (61 348 499; 70 664 882) 52 497 801 87 441 922
ping-pong wgas 519 256 273; +612.95% ‼️ 72 831 588 73 439 632 (68 992 647; 76 116 144) 58 549 899 98 651 810

name = Program generator

name current median average lower/upper quartile min max
program_generator 86 792 465; +68.87% ‼️ 51 395 161 51 897 837 (47 936 791; 55 518 455) 36 781 738 76 193 128

name = Program_id test

name current median average lower/upper quartile min max
program_id 217 581 279; +251.85% ‼️ 61 838 494 62 561 872 (56 801 131; 66 957 175) 47 743 960 87 180 319

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 495 514 550; +582.39% ‼️ 72 614 233 72 563 747 (67 799 254; 76 285 833) 59 893 417 94 537 829
state-saving 13 683 368; -80.85% ✔️ 71 463 621 72 174 349 (65 367 704; 77 371 511) 58 778 327 93 292 839

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 259 801 764; +275.31% ‼️ 69 223 253 70 068 888 (65 339 814; 73 662 706) 56 782 623 89 546 563
Try to re-init existing program 467 839 468; +487.01% ‼️ 79 699 317 80 063 864 (76 158 017; 83 328 453) 61 282 195 95 449 022

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 33 469 846; -29.88% ✔️ 47 733 264 49 063 890 (44 979 775; 53 862 047) 35 132 999 65 696 756

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 361 371 175; +219.13% ‼️ 113 237 832 113 788 570 (107 971 902; 119 277 330) 98 297 501 138 604 843

name = Wait test

name current median average lower/upper quartile min max
wait 642 404 107; +765.24% ‼️ 74 245 727 76 403 365 (69 203 895; 81 879 906) 55 660 569 109 705 624

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 522 577 539; +505.65% ‼️ 86 283 515 87 643 908 (83 379 511; 92 155 658) 66 946 739 107 385 343

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 613 517 983; +689.40% ‼️ 77 719 151 78 798 199 (74 399 439; 81 997 661) 67 174 714 96 584 363

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 233 713 261; +8.62% ‼️ 4 818 564 229 4 812 628 696 (4 790 926 451; 4 838 571 142) 4 681 311 425 4 913 073 526

name = gui test

name current median average lower/upper quartile min max
gui 7 034 574 592; +8.75% ‼️ 6 468 500 240 6 471 389 207 (6 449 372 437; 6 501 114 966) 6 358 778 518 6 590 473 481
56bc6be
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 41 514 000 000; +909.70% ❗ 4 111 500 000 4 780 469 999 (4 012 000 000; 4 280 500 000) 3 597 000 000 68 138 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 6 000 000; -53.85% ✔️ 13 000 000 20 110 000 (8 000 000; 26 000 000) 5 000 000 83 000 000
schedule::test::print_test_schedule 6 000 000; -53.85% ✔️ 13 000 000 21 670 000 (8 000 000; 30 500 000) 5 000 000 83 000 000
tests::block_gas_limit_works 16 000 000; -20.00% ✔️ 20 000 000 29 110 000 (16 000 000; 41 000 000) 12 000 000 100 000 000
tests::call_forbidden_function 9 000 000; -53.85% ✔️ 19 500 000 24 710 000 (11 000 000; 34 000 000) 8 000 000 82 000 000
tests::cascading_messages_with_value_do_not_overcharge 236 000 000; +174.42% ‼️ 86 000 000 91 200 000 (77 500 000; 101 000 000) 64 000 000 189 000 000
tests::claim_value_from_mailbox_works 10 000 000; -55.56% ✔️ 22 500 000 29 220 000 (14 000 000; 36 000 000) 9 000 000 92 000 000
tests::defer_program_initialization 25 000 000; -31.51% ✔️ 36 500 000 44 060 000 (30 000 000; 54 500 000) 22 000 000 103 000 000
tests::distributor_distribute 17 000 000; -45.16% ✔️ 31 000 000 37 730 000 (22 500 000; 50 000 000) 17 000 000 95 000 000
tests::distributor_initialize 13 000 000; -53.57% ✔️ 28 000 000 33 570 000 (17 000 000; 49 000 000) 9 000 000 85 000 000
tests::events_logging_works 12 000 000; -52.00% ✔️ 25 000 000 32 940 000 (15 000 000; 48 500 000) 9 000 000 126 000 000
tests::execution_over_blocks 410 000 000; +33.12% ‼️ 308 000 000 310 070 000 (290 500 000; 330 500 000) 261 000 000 390 000 000
tests::exit_handle 10 000 000; -63.64% ✔️ 27 500 000 34 140 000 (12 500 000; 51 500 000) 7 000 000 122 000 000
tests::exit_init 17 000 000; -46.03% ✔️ 31 500 000 39 600 000 (19 500 000; 50 500 000) 14 000 000 116 000 000
tests::gas_spent_precalculated 10 000 000; -65.52% ✔️ 29 000 000 35 640 000 (18 000 000; 47 000 000) 8 000 000 147 000 000
tests::gas_spent_vs_balance 39 000 000; -28.44% ✔️ 54 500 000 59 950 000 (45 500 000; 70 500 000) 34 000 000 147 000 000
tests::init_message_logging_works 10 000 000; -64.91% ✔️ 28 500 000 36 070 000 (16 500 000; 51 500 000) 8 000 000 100 000 000
tests::init_wait_reply_exit_cleaned_storage 26 000 000; -47.47% ✔️ 49 500 000 51 430 000 (34 000 000; 64 000 000) 23 000 000 127 000 000
tests::lazy_pages 9 000 000; -75.00% ✔️ 36 000 000 39 270 000 (18 500 000; 55 000 000) 8 000 000 110 000 000
tests::mailbox_threshold_works 26 000 000; -46.94% ✔️ 49 000 000 52 380 000 (38 000 000; 65 500 000) 23 000 000 117 000 000
tests::mailbox_works 10 000 000; -74.03% ✔️ 38 500 000 39 830 000 (24 000 000; 55 000 000) 9 000 000 95 000 000
tests::memory_access_cases 10 000 000; -76.47% ✔️ 42 500 000 43 540 000 (28 500 000; 57 500 000) 8 000 000 141 000 000
tests::messages_processing_works 10 000 000; -74.36% ✔️ 39 000 000 41 010 000 (21 000 000; 54 500 000) 8 000 000 103 000 000
tests::messages_to_paused_program_skipped 248 000 000; +470.11% ‼️ 43 500 000 47 190 000 (33 000 000; 60 000 000) 13 000 000 104 000 000
tests::messages_to_uninitialized_program_wait 17 000 000; -61.36% ✔️ 44 000 000 45 770 000 (31 000 000; 57 000 000) 12 000 000 117 000 000
tests::no_redundant_gas_value_after_exiting 11 000 000; -73.81% ✔️ 42 000 000 42 490 000 (26 000 000; 53 000 000) 10 000 000 122 000 000
tests::paused_program_keeps_id 20 000 000; -55.06% ✔️ 44 500 000 48 530 000 (31 500 000; 62 500 000) 18 000 000 112 000 000
tests::program_lifecycle_works 10 000 000; -75.00% ✔️ 40 000 000 39 800 000 (23 500 000; 52 000 000) 7 000 000 98 000 000
tests::program_messages_to_paused_program_skipped 25 000 000; -45.05% ✔️ 45 500 000 50 960 000 (40 000 000; 57 000 000) 26 000 000 141 000 000
tests::replies_to_paused_program_skipped 17 000 000; -61.80% ✔️ 44 500 000 45 780 000 (32 000 000; 56 500 000) 13 000 000 98 000 000
tests::restrict_start_section 8 000 000; -80.25% ✔️ 40 500 000 41 710 000 (27 000 000; 50 000 000) 7 000 000 115 000 000
tests::resume_program_works 29 000 000; -43.14% ✔️ 51 000 000 52 060 000 (37 000 000; 64 000 000) 24 000 000 118 000 000
tests::send_message_expected_failure 10 000 000; -75.00% ✔️ 40 000 000 41 610 000 (27 000 000; 55 000 000) 10 000 000 92 000 000
tests::send_message_works 11 000 000; -71.79% ✔️ 39 000 000 42 390 000 (29 000 000; 53 000 000) 10 000 000 105 000 000
tests::send_reply_failure_to_claim_from_mailbox 9 000 000; -77.50% ✔️ 40 000 000 42 770 000 (25 000 000; 55 500 000) 12 000 000 88 000 000
tests::send_reply_value_claiming_works 11 000 000; -71.43% ✔️ 38 500 000 41 420 000 (28 000 000; 52 000 000) 11 000 000 105 000 000
tests::send_reply_works 10 000 000; -72.22% ✔️ 36 000 000 39 780 000 (26 000 000; 51 500 000) 8 000 000 95 000 000
tests::spent_gas_to_reward_block_author_works 10 000 000; -70.59% ✔️ 34 000 000 38 760 000 (25 500 000; 49 500 000) 8 000 000 94 000 000
tests::submit_program_expected_failure 7 000 000; -81.82% ✔️ 38 500 000 42 200 000 (26 000 000; 56 500 000) 8 000 000 107 000 000
tests::submit_program_fails_on_duplicate_id 9 000 000; -73.53% ✔️ 34 000 000 38 230 000 (24 000 000; 50 500 000) 9 000 000 90 000 000
tests::test_async_messages 257 000 000; +14.73% ❗ 224 000 000 223 640 000 (205 000 000; 238 500 000) 167 000 000 287 000 000
tests::test_code_is_not_reset_within_program_submission 8 000 000; -78.38% ✔️ 37 000 000 38 910 000 (25 000 000; 49 500 000) 9 000 000 82 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 8 000 000; -77.46% ✔️ 35 500 000 38 160 000 (23 000 000; 50 000 000) 5 000 000 118 000 000
tests::test_code_submission_pass 8 000 000; -79.22% ✔️ 38 500 000 40 850 000 (26 500 000; 54 500 000) 9 000 000 81 000 000
tests::test_create_program_duplicate 31 000 000; -38.61% ✔️ 50 500 000 55 250 000 (40 500 000; 65 000 000) 27 000 000 130 000 000
tests::test_create_program_duplicate_in_one_execution 20 000 000; -58.33% ✔️ 48 000 000 48 430 000 (33 500 000; 60 500 000) 20 000 000 98 000 000
tests::test_create_program_miscellaneous 231 000 000; +278.69% ‼️ 61 000 000 62 850 000 (47 500 000; 75 500 000) 34 000 000 113 000 000
tests::test_create_program_no_code_hash 230 000 000; +161.36% ‼️ 88 000 000 90 820 000 (79 000 000; 99 500 000) 60 000 000 133 000 000
tests::test_create_program_simple 230 000 000; +248.48% ‼️ 66 000 000 65 720 000 (48 500 000; 79 500 000) 35 000 000 101 000 000
tests::test_create_program_with_exceeding_value 15 000 000; -63.41% ✔️ 41 000 000 43 460 000 (30 000 000; 55 000 000) 14 000 000 110 000 000
tests::test_create_program_with_value_lt_ed 21 000 000; -58.82% ✔️ 51 000 000 51 470 000 (40 000 000; 63 000 000) 21 000 000 94 000 000
tests::test_create_program_without_gas_works 16 000 000; -61.90% ✔️ 42 000 000 43 490 000 (31 000 000; 56 000 000) 17 000 000 77 000 000
tests::test_message_processing_for_non_existing_destination 10 000 000; -74.36% ✔️ 39 000 000 40 330 000 (28 000 000; 49 000 000) 7 000 000 96 000 000
tests::test_reply_to_terminated_program 14 000 000; -65.85% ✔️ 41 000 000 43 300 000 (27 500 000; 50 000 000) 11 000 000 98 000 000
tests::test_same_code_submission_fails 7 000 000; -81.33% ✔️ 37 500 000 38 700 000 (25 000 000; 48 500 000) 8 000 000 89 000 000
tests::test_two_contracts_composition_works 227 000 000; +206.76% ‼️ 74 000 000 76 100 000 (61 500 000; 86 500 000) 45 000 000 132 000 000
tests::uninitialized_program_should_accept_replies 22 000 000; -50.56% ✔️ 44 500 000 47 190 000 (33 000 000; 59 500 000) 21 000 000 110 000 000
tests::unstoppable_block_execution_works 12 000 000; -67.12% ✔️ 36 500 000 39 200 000 (24 500 000; 52 000 000) 12 000 000 88 000 000
tests::unused_gas_released_back_works 8 000 000; -76.81% ✔️ 34 500 000 36 580 000 (21 000 000; 50 000 000) 8 000 000 86 000 000
tests::wake_messages_after_program_inited 225 000 000; +196.05% ‼️ 76 000 000 77 260 000 (64 500 000; 87 500 000) 50 000 000 117 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 6 000 000; -77.36% ✔️ 26 500 000 28 490 000 (11 000 000; 41 000 000) 4 000 000 85 000 000
tests::check_changed_pages_in_storage 10 000 000; -72.22% ✔️ 36 000 000 38 800 000 (27 500 000; 47 500 000) 10 000 000 98 000 000
tests::check_not_allocated_pages 9 000 000; -76.92% ✔️ 39 000 000 39 930 000 (25 500 000; 52 500 000) 9 000 000 88 000 000
tests::debug_mode_works 10 000 000; -66.10% ✔️ 29 500 000 33 480 000 (21 000 000; 43 500 000) 9 000 000 86 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 12 000 000; -54.72% ✔️ 26 500 000 28 590 000 (15 000 000; 38 500 000) 5 000 000 73 000 000
tests::all_keys_are_cleared 12 000 000; -63.08% ✔️ 32 500 000 33 880 000 (20 500 000; 45 500 000) 7 000 000 78 000 000
tests::can_cut_nodes 12 000 000; -63.64% ✔️ 33 000 000 33 140 000 (20 000 000; 44 000 000) 5 000 000 73 000 000
tests::catch_value_all_blocked 12 000 000; -64.18% ✔️ 33 500 000 34 470 000 (22 000 000; 42 500 000) 6 000 000 86 000 000
tests::catch_value_all_catch 15 000 000; -49.15% ✔️ 29 500 000 34 490 000 (20 500 000; 47 000 000) 6 000 000 86 000 000
tests::gas_free_after_consumed 12 000 000; -62.50% ✔️ 32 000 000 32 780 000 (19 000 000; 44 000 000) 6 000 000 84 000 000
tests::limit_vs_origin 16 000 000; -47.54% ✔️ 30 500 000 33 590 000 (18 000 000; 44 000 000) 6 000 000 105 000 000
tests::long_chain 80 000 000; +128.57% ❗ 35 000 000 33 770 000 (18 000 000; 47 000 000) 7 000 000 88 000 000
tests::simple_value_tree 13 000 000; -55.93% ✔️ 29 500 000 31 330 000 (16 500 000; 41 500 000) 6 000 000 85 000 000
tests::split_with_no_value 361 000 000; +931.43% ‼️ 35 000 000 35 120 000 (20 000 000; 47 000 000) 6 000 000 88 000 000
tests::splits_fail 360 000 000; +1025.00% ‼️ 32 000 000 33 870 000 (19 000 000; 46 500 000) 6 000 000 80 000 000
tests::sub_nodes_tree_with_spends 209 000 000; +596.67% ‼️ 30 000 000 32 300 000 (17 500 000; 46 500 000) 5 000 000 80 000 000
tests::subtree_gas_limit_remains_intact 359 000 000; +987.88% ‼️ 33 000 000 33 880 000 (21 000 000; 44 500 000) 5 000 000 93 000 000
tests::test_consume_procedure_with_subnodes 357 000 000; +981.82% ‼️ 33 000 000 33 240 000 (18 000 000; 46 000 000) 6 000 000 95 000 000
tests::test_imbalances_drop 357 000 000; +1131.03% ‼️ 29 000 000 32 280 000 (19 000 000; 43 500 000) 5 000 000 86 000 000
tests::value_tree_known_errors 356 000 000; +1086.67% ‼️ 30 000 000 33 580 000 (23 000 000; 43 500 000) 6 000 000 86 000 000
tests::value_tree_with_all_kinds_of_nodes 355 000 000; +1190.91% ‼️ 27 500 000 29 330 000 (16 000 000; 39 000 000) 4 000 000 86 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 354 000 000; +1473.33% ‼️ 22 500 000 26 390 000 (11 000 000; 37 000 000) 4 000 000 85 000 000
tests::dequeued_impl_works_manually 354 000 000; +1187.27% ‼️ 27 500 000 27 720 000 (15 500 000; 36 000 000) 6 000 000 70 000 000
tests::queue_processing_impl_works_manually 353 000 000; +1138.60% ‼️ 28 500 000 30 000 000 (16 000 000; 41 000 000) 3 000 000 87 000 000
tests::queue_works 352 000 000; +1157.14% ‼️ 28 000 000 29 900 000 (18 000 000; 41 000 000) 6 000 000 64 000 000
tests::sent_impl_works 351 000 000; +1200.00% ‼️ 27 000 000 27 980 000 (17 000 000; 38 500 000) 5 000 000 62 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 348 000 000; +1481.82% ‼️ 22 000 000 24 510 000 (12 500 000; 37 000 000) 4 000 000 84 000 000
tests::custom_fee_multiplier_updated_per_block 348 000 000; +1100.00% ‼️ 29 000 000 29 430 000 (17 000 000; 37 000 000) 5 000 000 64 000 000
tests::fee_rounding_error_bounded_by_multiplier 285 000 000; +900.00% ‼️ 28 500 000 29 330 000 (17 000 000; 40 000 000) 5 000 000 66 000 000
tests::mq_size_affecting_fee_works 284 000 000; +1013.73% ‼️ 25 500 000 28 140 000 (20 000 000; 37 000 000) 5 000 000 64 000 000
tests::mq_size_not_affecting_fee_works 283 000 000; +929.09% ‼️ 27 500 000 28 440 000 (18 000 000; 36 500 000) 5 000 000 72 000 000
tests::query_info_and_fee_details_work 284 000 000; +879.31% ‼️ 29 000 000 29 730 000 (21 000 000; 38 000 000) 6 000 000 65 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 103 000 000; +303.92% ‼️ 25 500 000 25 880 000 (13 500 000; 37 000 000) 3 000 000 61 000 000
tests::pause_program_twice_fails 103 000 000; +255.17% ‼️ 29 000 000 28 870 000 (19 000 000; 35 500 000) 6 000 000 62 000 000
tests::pause_program_works 103 000 000; +243.33% ‼️ 30 000 000 32 050 000 (22 000 000; 39 000 000) 12 000 000 65 000 000
tests::pause_terminated_program_fails 103 000 000; +296.15% ‼️ 26 000 000 27 610 000 (19 000 000; 33 000 000) 5 000 000 58 000 000
tests::pause_uninitialized_program_works 103 000 000; +243.33% ‼️ 30 000 000 30 900 000 (22 000 000; 37 000 000) 12 000 000 65 000 000
tests::resume_program_twice_fails 103 000 000; +226.98% ‼️ 31 500 000 33 550 000 (26 000 000; 38 500 000) 19 000 000 61 000 000
tests::resume_program_wrong_list_fails 103 000 000; +255.17% ‼️ 29 000 000 31 230 000 (22 500 000; 39 000 000) 15 000 000 61 000 000
tests::resume_program_wrong_memory_fails 102 000 000; +251.72% ‼️ 29 000 000 30 980 000 (23 000 000; 35 000 000) 13 000 000 73 000 000
tests::resume_uninitialized_program_works 102 000 000; +240.00% ‼️ 30 000 000 31 970 000 (23 500 000; 38 500 000) 14 000 000 72 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 152 000 000; +660.00% ‼️ 20 000 000 21 500 000 (12 000 000; 28 000 000) 4 000 000 58 000 000
tests::gear_handles_outdated_tasks 152 000 000; +533.33% ‼️ 24 000 000 24 290 000 (15 000 000; 30 000 000) 7 000 000 54 000 000
tests::gear_handles_tasks 152 000 000; +590.91% ‼️ 22 000 000 23 790 000 (14 500 000; 31 500 000) 5 000 000 57 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 206 202 204 729; +144.02% ‼️ 84 501 334 828 84 501 254 964 (84 359 248 650; 84 661 678 826) 83 975 388 240 85 038 378 807

name = Async RwLock

name current median average lower/upper quartile min max
check readers 751 022 279; +769.33% ‼️ 86 390 969 87 754 782 (82 676 843; 90 669 265) 68 494 138 111 072 326
forever lock 927 495 440; +910.37% ‼️ 91 798 024 92 824 612 (88 073 366; 97 462 560) 70 643 909 113 466 567
read while writing 1 763 070 398; +1580.58% ‼️ 104 908 368 107 652 266 (102 552 468; 112 490 610) 93 724 925 146 400 017
rwlock wide 2 678 667 450; +1991.77% ‼️ 128 057 319 129 627 878 (122 031 366; 135 509 742) 111 906 496 170 369 952
write while reading 1 972 573 908; +1696.23% ‼️ 109 817 186 111 218 120 (106 805 219; 114 786 830) 86 200 417 140 452 386

name = Async init

name current median average lower/upper quartile min max
approved pong 11 095 978 602; +6.07% ‼️ 10 461 233 182 10 469 178 698 (10 429 369 812; 10 501 056 056) 10 348 968 367 10 659 463 261

name = Async-await

name current median average lower/upper quartile min max
async-await 2 592 673 597; +1801.28% ‼️ 136 364 698 137 696 534 (127 671 377; 141 918 781) 118 546 342 177 942 825
mutex 2 044 456 996; +1425.45% ‼️ 134 023 207 136 088 426 (126 977 433; 139 973 123) 117 712 303 196 277 833
rwlock-write 2 609 319 374; +1868.04% ‼️ 132 584 467 136 513 832 (125 645 994; 141 177 814) 117 735 399 182 503 842

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 076 134 598; +1040.46% ‼️ 94 359 851 97 053 699 (91 356 020; 102 881 938) 86 178 614 119 420 040

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 20 217 751 985; +304.82% ‼️ 4 994 255 945 4 990 980 675 (4 965 657 379; 5 020 411 227) 4 874 715 906 5 078 365 305
2 of 3; bob & eve 10 791 106 943; +115.78% ‼️ 5 001 070 431 4 996 131 374 (4 975 881 673; 5 018 074 336) 4 877 632 125 5 092 136 759
2 of 3; eve & alice 20 248 595 468; +305.21% ‼️ 4 997 016 576 4 989 911 192 (4 963 308 594; 5 013 599 558) 4 886 662 793 5 099 918 351
2 of 3; eve doesn't answer, alice replies with incorrect payload 5 780 390 511; +16.65% ‼️ 4 955 476 815 4 949 676 935 (4 930 428 076; 4 972 408 644) 4 857 705 963 5 053 336 651
2 of 3; no replies 6 062 542 671; +24.34% ‼️ 4 875 658 946 4 876 010 237 (4 855 158 355; 4 898 094 495) 4 806 980 677 4 959 327 087
Single signatory & zero threshold 17 092 679 564; +245.80% ‼️ 4 942 948 829 4 938 687 385 (4 912 553 441; 4 962 008 899) 4 843 681 046 5 007 797 477
Three signatories; Bob replies with incorrect signature 17 561 790 785; +254.29% ‼️ 4 956 887 351 4 953 519 582 (4 929 606 399; 4 980 233 872) 4 858 884 531 5 051 141 148
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 17 162 701 418; +247.06% ‼️ 4 945 217 143 4 946 910 305 (4 922 075 166; 4 973 558 594) 4 849 389 710 5 032 171 561

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 348 377 233; +36.07% ‼️ 2 460 777 011 2 458 073 064 (2 441 946 472; 2 475 154 681) 2 389 724 058 2 529 200 642
correct signature but for another message 4 125 779 074; +64.58% ‼️ 2 506 837 579 2 508 629 293 (2 486 655 785; 2 531 757 044) 2 446 026 840 2 573 606 399
no reply 3 356 726 179; +37.36% ‼️ 2 443 709 910 2 446 003 181 (2 430 838 660; 2 463 319 028) 2 381 985 483 2 512 746 477
signed message 3 963 100 616; +57.87% ‼️ 2 510 348 214 2 511 991 794 (2 494 273 283; 2 527 112 485) 2 445 404 587 2 584 609 496

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 4 159 469 496; +1429.55% ‼️ 271 941 377 277 493 123 (264 514 697; 287 916 504) 255 855 208 323 019 615

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 743 698 014; +860.06% ‼️ 77 463 766 78 374 922 (73 481 713; 82 239 953) 67 204 627 100 799 219

name = Chat

name current median average lower/upper quartile min max
chat 1 653 654 030; +1442.76% ‼️ 107 187 700 108 517 552 (101 968 881; 113 973 152) 91 487 848 138 755 030

name = Decoder

name current median average lower/upper quartile min max
decoder 36 534 080; -48.98% ✔️ 71 607 778 72 777 217 (68 942 400; 76 031 706) 60 055 422 93 009 363

name = Exit code

name current median average lower/upper quartile min max
normal 396 188 593; +463.81% ‼️ 70 269 716 70 116 996 (65 581 368; 73 935 751) 54 650 757 91 039 921
panic 501 071 960; +597.28% ‼️ 71 861 156 73 441 353 (69 039 360; 76 495 704) 61 007 246 92 671 717

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 3 198 382 523; +2054.35% ‼️ 148 461 678 152 289 524 (141 207 253; 156 861 652) 132 082 899 208 002 234
join 3 195 231 388; +2008.07% ‼️ 151 571 527 153 357 062 (142 562 348; 161 816 196) 133 551 447 187 153 576
select 3 159 814 744; +2053.79% ‼️ 146 709 332 148 087 747 (138 446 884; 154 831 831) 129 026 673 180 216 726

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 840 465 747; +2060.65% ‼️ 131 463 219 134 292 846 (123 344 393; 139 987 582) 117 462 533 176 723 576

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 330 725 920; +354.49% ‼️ 72 769 027 74 245 198 (68 952 891; 78 680 531) 61 034 691 100 799 450

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 522 245 286; +547.23% ‼️ 80 689 466 82 069 719 (78 016 697; 84 510 902) 55 947 060 102 830 745

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 172 444 779; +4.59% ‼️ 9 726 414 996 9 720 704 814 (9 692 645 736; 9 748 914 466) 9 608 583 280 9 854 427 109

name = Multiping

name current median average lower/upper quartile min max
multiping 358 399 271; +438.27% ‼️ 66 582 968 67 955 355 (62 697 293; 72 839 619) 56 019 305 84 920 617

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 352 268 423; +433.81% ‼️ 65 991 445 66 627 369 (61 365 448; 70 903 143) 54 045 726 94 816 057
ping-pong wgas 609 177 115; +734.64% ‼️ 72 986 632 73 767 584 (67 622 168; 77 554 232) 57 408 235 109 899 861

name = Program generator

name current median average lower/upper quartile min max
program_generator 74 805 987; +44.77% ❗ 51 671 722 53 082 667 (48 403 105; 56 795 143) 40 587 576 75 848 063

name = Program_id test

name current median average lower/upper quartile min max
program_id 196 621 404; +224.07% ‼️ 60 673 183 62 161 318 (57 142 814; 66 372 462) 49 585 671 82 824 142

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 580 759 145; +700.07% ‼️ 72 588 952 73 636 652 (68 358 506; 78 565 842) 58 016 150 96 075 628
state-saving 518 858 920; +628.05% ‼️ 71 266 545 72 212 437 (67 340 144; 75 820 664) 58 804 027 106 962 783

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 23 532 255; -66.06% ✔️ 69 340 412 69 423 514 (64 404 484; 73 418 191) 57 428 595 87 196 571
Try to re-init existing program 354 814 038; +352.21% ‼️ 78 462 545 79 553 945 (74 406 399; 84 275 301) 67 816 130 98 650 722

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 123 088 174; +156.00% ‼️ 48 080 741 48 877 519 (44 280 787; 51 900 860) 38 959 017 64 514 825

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 677 824 349; +493.94% ‼️ 114 124 108 116 996 319 (108 561 788; 122 241 336) 100 511 475 164 251 559

name = Wait test

name current median average lower/upper quartile min max
wait 715 504 233; +868.49% ‼️ 73 878 542 76 825 467 (70 481 234; 80 676 780) 62 416 646 110 254 981

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 648 969 334; +656.02% ‼️ 85 840 123 87 556 414 (83 036 172; 90 614 991) 78 037 734 109 025 431

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 663 801 172; +739.52% ‼️ 79 069 379 79 674 398 (75 290 312; 84 390 216) 63 484 944 95 366 880

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 135 666 560; +6.80% ‼️ 4 808 457 946 4 803 560 725 (4 780 318 471; 4 832 090 867) 4 712 756 248 4 872 652 552

name = gui test

name current median average lower/upper quartile min max
gui 7 035 252 698; +9.11% ‼️ 6 447 985 249 6 451 441 319 (6 425 604 119; 6 484 538 860) 6 326 200 873 6 539 895 851
8fe5b5c
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 40 442 000 000; +923.46% ❗ 3 951 500 000 4 375 859 999 (3 839 500 000; 4 131 500 000) 3 453 000 000 43 782 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 5 000 000; +25.00% ❗ 4 000 000 4 580 000 (3 000 000; 5 000 000) 3 000 000 53 000 000
schedule::test::print_test_schedule 6 000 000; +50.00% ❗ 4 000 000 5 010 000 (3 500 000; 5 000 000) 3 000 000 73 000 000
tests::block_gas_limit_works 16 000 000; +77.78% ‼️ 9 000 000 9 300 000 (8 000 000; 10 000 000) 7 000 000 13 000 000
tests::call_forbidden_function 8 000 000; +33.33% ❗ 6 000 000 6 720 000 (5 000 000; 7 000 000) 4 000 000 69 000 000
tests::cascading_messages_with_value_do_not_overcharge 207 000 000; +350.00% ‼️ 46 000 000 48 800 000 (45 000 000; 50 500 000) 43 000 000 76 000 000
tests::claim_value_from_mailbox_works 10 000 000; +42.86% ❗ 7 000 000 7 230 000 (6 000 000; 8 000 000) 6 000 000 11 000 000
tests::defer_program_initialization 25 000 000; +47.06% ❗ 17 000 000 19 100 000 (16 500 000; 18 000 000) 16 000 000 75 000 000
tests::distributor_distribute 16 000 000; +23.08% ❗ 13 000 000 14 060 000 (12 000 000; 13 000 000) 11 000 000 62 000 000
tests::distributor_initialize 13 000 000; +44.44% ❗ 9 000 000 10 100 000 (8 000 000; 10 000 000) 7 000 000 69 000 000
tests::events_logging_works 12 000 000; +50.00% ❗ 8 000 000 8 280 000 (7 000 000; 8 000 000) 6 000 000 69 000 000
tests::execution_over_blocks 436 000 000; +130.69% ‼️ 189 000 000 191 490 000 (187 000 000; 193 000 000) 184 000 000 244 000 000
tests::exit_handle 9 000 000; +38.46% ❗ 6 500 000 7 230 000 (6 000 000; 7 000 000) 5 000 000 66 000 000
tests::exit_init 16 000 000; +45.45% ❗ 11 000 000 12 350 000 (10 000 000; 12 000 000) 10 000 000 71 000 000
tests::gas_spent_precalculated 10 000 000; +42.86% ❗ 7 000 000 7 390 000 (6 000 000; 7 000 000) 5 000 000 68 000 000
tests::gas_spent_vs_balance 38 000 000; +46.15% ❗ 26 000 000 27 110 000 (25 000 000; 26 000 000) 23 000 000 103 000 000
tests::init_message_logging_works 9 000 000; +50.00% ❗ 6 000 000 6 940 000 (6 000 000; 7 000 000) 5 000 000 53 000 000
tests::init_wait_reply_exit_cleaned_storage 29 000 000; +70.59% ❗ 17 000 000 19 800 000 (17 000 000; 18 000 000) 16 000 000 92 000 000
tests::lazy_pages 8 000 000; +33.33% ❗ 6 000 000 7 010 000 (6 000 000; 7 000 000) 5 000 000 55 000 000
tests::mailbox_threshold_works 26 000 000; +52.94% ❗ 17 000 000 17 270 000 (16 000 000; 18 000 000) 15 000 000 28 000 000
tests::mailbox_works 10 000 000; +66.67% ❗ 6 000 000 7 090 000 (6 000 000; 7 000 000) 5 000 000 67 000 000
tests::memory_access_cases 11 000 000; +57.14% ❗ 7 000 000 7 520 000 (6 000 000; 7 500 000) 5 000 000 67 000 000
tests::messages_processing_works 10 000 000; +66.67% ❗ 6 000 000 7 630 000 (6 000 000; 7 000 000) 5 000 000 69 000 000
tests::messages_to_paused_program_skipped 17 000 000; +70.00% ‼️ 10 000 000 10 590 000 (10 000 000; 11 000 000) 9 000 000 15 000 000
tests::messages_to_uninitialized_program_wait 21 000 000; +110.00% ❗ 10 000 000 10 990 000 (10 000 000; 11 000 000) 9 000 000 64 000 000
tests::no_redundant_gas_value_after_exiting 10 000 000; +66.67% ❗ 6 000 000 7 350 000 (6 000 000; 7 000 000) 5 000 000 72 000 000
tests::paused_program_keeps_id 23 000 000; +91.67% ❗ 12 000 000 13 050 000 (12 000 000; 13 000 000) 11 000 000 53 000 000
tests::program_lifecycle_works 9 000 000; +50.00% ❗ 6 000 000 7 420 000 (6 000 000; 7 000 000) 5 000 000 69 000 000
tests::program_messages_to_paused_program_skipped 27 000 000; +42.11% ‼️ 19 000 000 19 360 000 (18 000 000; 20 000 000) 17 000 000 26 000 000
tests::replies_to_paused_program_skipped 19 000 000; +90.00% ❗ 10 000 000 11 140 000 (10 000 000; 11 000 000) 9 000 000 53 000 000
tests::restrict_start_section 8 000 000; +60.00% ❗ 5 000 000 5 560 000 (4 000 000; 6 000 000) 4 000 000 44 000 000
tests::resume_program_works 32 000 000; +77.78% ❗ 18 000 000 18 770 000 (17 000 000; 19 000 000) 16 000 000 58 000 000
tests::send_message_expected_failure 14 000 000; +133.33% ❗ 6 000 000 7 920 000 (6 000 000; 7 000 000) 5 000 000 57 000 000
tests::send_message_works 14 000 000; +133.33% ❗ 6 000 000 7 710 000 (6 000 000; 7 000 000) 5 000 000 94 000 000
tests::send_reply_failure_to_claim_from_mailbox 13 000 000; +116.67% ❗ 6 000 000 7 850 000 (6 000 000; 7 000 000) 5 000 000 94 000 000
tests::send_reply_value_claiming_works 15 000 000; +114.29% ❗ 7 000 000 8 170 000 (6 000 000; 8 000 000) 5 000 000 55 000 000
tests::send_reply_works 14 000 000; +133.33% ❗ 6 000 000 7 120 000 (6 000 000; 7 000 000) 5 000 000 42 000 000
tests::spent_gas_to_reward_block_author_works 9 000 000; +50.00% ❗ 6 000 000 6 460 000 (5 000 000; 6 000 000) 4 000 000 44 000 000
tests::submit_program_expected_failure 22 000 000; +340.00% ❗ 5 000 000 5 620 000 (5 000 000; 6 000 000) 4 000 000 34 000 000
tests::submit_program_fails_on_duplicate_id 18 000 000; +200.00% ❗ 6 000 000 6 930 000 (5 000 000; 6 000 000) 4 000 000 47 000 000
tests::test_async_messages 273 000 000; +117.53% ‼️ 125 500 000 126 470 000 (124 000 000; 127 000 000) 121 000 000 153 000 000
tests::test_code_is_not_reset_within_program_submission 21 000 000; +320.00% ❗ 5 000 000 6 380 000 (5 000 000; 6 000 000) 4 000 000 49 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 18 000 000; +200.00% ❗ 6 000 000 6 750 000 (5 000 000; 6 000 000) 4 000 000 49 000 000
tests::test_code_submission_pass 18 000 000; +200.00% ❗ 6 000 000 7 080 000 (5 000 000; 6 000 000) 4 000 000 47 000 000
tests::test_create_program_duplicate 166 000 000; +654.55% ‼️ 22 000 000 23 530 000 (21 000 000; 23 000 000) 19 000 000 61 000 000
tests::test_create_program_duplicate_in_one_execution 165 000 000; +1000.00% ‼️ 15 000 000 16 650 000 (14 000 000; 16 500 000) 13 000 000 55 000 000
tests::test_create_program_miscellaneous 250 000 000; +941.67% ‼️ 24 000 000 25 970 000 (23 000 000; 28 500 000) 21 000 000 38 000 000
tests::test_create_program_no_code_hash 250 000 000; +455.56% ‼️ 45 000 000 46 720 000 (43 000 000; 47 000 000) 40 000 000 87 000 000
tests::test_create_program_simple 250 000 000; +843.40% ‼️ 26 500 000 28 760 000 (25 000 000; 31 000 000) 22 000 000 63 000 000
tests::test_create_program_with_exceeding_value 25 000 000; +127.27% ❗ 11 000 000 12 770 000 (11 000 000; 12 000 000) 9 000 000 51 000 000
tests::test_create_program_with_value_lt_ed 163 000 000; +918.75% ‼️ 16 000 000 16 870 000 (15 000 000; 17 000 000) 13 000 000 38 000 000
tests::test_create_program_without_gas_works 33 000 000; +186.96% ❗ 11 500 000 13 050 000 (11 000 000; 13 000 000) 9 000 000 59 000 000
tests::test_message_processing_for_non_existing_destination 22 000 000; +214.29% ❗ 7 000 000 8 000 000 (6 000 000; 8 000 000) 5 000 000 32 000 000
tests::test_reply_to_terminated_program 33 000 000; +200.00% ❗ 11 000 000 13 090 000 (10 000 000; 12 500 000) 8 000 000 50 000 000
tests::test_same_code_submission_fails 17 000 000; +183.33% ❗ 6 000 000 8 570 000 (5 000 000; 7 000 000) 4 000 000 59 000 000
tests::test_two_contracts_composition_works 247 000 000; +626.47% ‼️ 34 000 000 34 710 000 (32 000 000; 37 000 000) 30 000 000 62 000 000
tests::uninitialized_program_should_accept_replies 161 000 000; +906.25% ‼️ 16 000 000 18 300 000 (15 000 000; 19 000 000) 14 000 000 47 000 000
tests::unstoppable_block_execution_works 23 000 000; +187.50% ❗ 8 000 000 10 430 000 (7 000 000; 10 000 000) 6 000 000 44 000 000
tests::unused_gas_released_back_works 20 000 000; +233.33% ❗ 6 000 000 8 100 000 (5 000 000; 8 000 000) 4 000 000 38 000 000
tests::wake_messages_after_program_inited 161 000 000; +323.68% ‼️ 38 000 000 39 850 000 (36 000 000; 42 000 000) 35 000 000 68 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 19 000 000; +375.00% ❗ 4 000 000 6 930 000 (3 000 000; 6 000 000) 3 000 000 30 000 000
tests::check_changed_pages_in_storage 24 000 000; +242.86% ❗ 7 000 000 9 920 000 (6 000 000; 11 500 000) 5 000 000 35 000 000
tests::check_not_allocated_pages 20 000 000; +185.71% ❗ 7 000 000 10 090 000 (6 000 000; 12 500 000) 5 000 000 32 000 000
tests::debug_mode_works 159 000 000; +2171.43% ‼️ 7 000 000 9 960 000 (6 000 000; 12 000 000) 5 000 000 30 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 22 000 000; +450.00% ❗ 4 000 000 6 420 000 (3 000 000; 8 500 000) 2 000 000 27 000 000
tests::all_keys_are_cleared 31 000 000; +520.00% ‼️ 5 000 000 8 640 000 (5 000 000; 12 000 000) 3 000 000 29 000 000
tests::can_cut_nodes 30 000 000; +400.00% ‼️ 6 000 000 8 250 000 (5 000 000; 10 000 000) 4 000 000 23 000 000
tests::catch_value_all_blocked 396 000 000; +5557.14% ‼️ 7 000 000 9 040 000 (5 000 000; 11 500 000) 4 000 000 24 000 000
tests::catch_value_all_catch 30 000 000; +445.45% ‼️ 5 500 000 8 120 000 (5 000 000; 11 500 000) 3 000 000 24 000 000
tests::gas_free_after_consumed 30 000 000; +500.00% ‼️ 5 000 000 7 780 000 (4 000 000; 12 000 000) 3 000 000 23 000 000
tests::limit_vs_origin 30 000 000; +400.00% ‼️ 6 000 000 8 730 000 (5 000 000; 13 000 000) 3 000 000 22 000 000
tests::long_chain 264 000 000; +4300.00% ‼️ 6 000 000 8 730 000 (5 000 000; 13 500 000) 3 000 000 22 000 000
tests::simple_value_tree 30 000 000; +500.00% ‼️ 5 000 000 7 980 000 (4 000 000; 13 000 000) 3 000 000 21 000 000
tests::split_with_no_value 264 000 000; +4300.00% ‼️ 6 000 000 9 300 000 (5 000 000; 14 000 000) 4 000 000 23 000 000
tests::splits_fail 410 000 000; +5757.14% ‼️ 7 000 000 10 370 000 (6 000 000; 17 000 000) 4 000 000 26 000 000
tests::sub_nodes_tree_with_spends 381 000 000; +6250.00% ‼️ 6 000 000 9 260 000 (5 000 000; 14 500 000) 4 000 000 21 000 000
tests::subtree_gas_limit_remains_intact 393 000 000; +5514.29% ‼️ 7 000 000 10 320 000 (6 000 000; 16 000 000) 4 000 000 24 000 000
tests::test_consume_procedure_with_subnodes 393 000 000; +5514.29% ‼️ 7 000 000 10 300 000 (6 000 000; 15 500 000) 4 000 000 22 000 000
tests::test_imbalances_drop 407 000 000; +6683.33% ‼️ 6 000 000 9 830 000 (5 000 000; 14 000 000) 3 000 000 48 000 000
tests::value_tree_known_errors 391 000 000; +5485.71% ‼️ 7 000 000 10 920 000 (6 000 000; 16 000 000) 4 000 000 41 000 000
tests::value_tree_with_all_kinds_of_nodes 391 000 000; +5485.71% ‼️ 7 000 000 10 620 000 (6 000 000; 16 000 000) 3 000 000 45 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 402 000 000; +7209.09% ‼️ 5 500 000 8 960 000 (4 500 000; 14 000 000) 3 000 000 39 000 000
tests::dequeued_impl_works_manually 387 000 000; +5853.85% ‼️ 6 500 000 9 290 000 (5 000 000; 13 500 000) 4 000 000 20 000 000
tests::queue_processing_impl_works_manually 386 000 000; +5414.29% ‼️ 7 000 000 9 240 000 (5 000 000; 14 000 000) 4 000 000 21 000 000
tests::queue_works 400 000 000; +6053.85% ‼️ 6 500 000 9 540 000 (5 000 000; 14 000 000) 3 000 000 20 000 000
tests::sent_impl_works 370 000 000; +5185.71% ‼️ 7 000 000 9 480 000 (5 000 000; 14 000 000) 3 000 000 19 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 398 000 000; +7860.00% ‼️ 5 000 000 8 560 000 (4 000 000; 13 000 000) 3 000 000 31 000 000
tests::custom_fee_multiplier_updated_per_block 398 000 000; +5585.71% ‼️ 7 000 000 9 880 000 (5 000 000; 15 000 000) 4 000 000 21 000 000
tests::fee_rounding_error_bounded_by_multiplier 398 000 000; +4875.00% ‼️ 8 000 000 10 250 000 (6 000 000; 15 000 000) 4 000 000 21 000 000
tests::mq_size_affecting_fee_works 369 000 000; +4512.50% ‼️ 8 000 000 9 500 000 (5 000 000; 14 000 000) 4 000 000 18 000 000
tests::mq_size_not_affecting_fee_works 382 000 000; +4394.12% ‼️ 8 500 000 9 620 000 (5 000 000; 13 000 000) 4 000 000 34 000 000
tests::query_info_and_fee_details_work 396 000 000; +4850.00% ‼️ 8 000 000 9 830 000 (6 000 000; 14 000 000) 4 000 000 19 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 16 000 000; +77.78% ❗ 9 000 000 8 780 000 (5 000 000; 12 000 000) 3 000 000 18 000 000
tests::pause_program_twice_fails 142 000 000; +1570.59% ‼️ 8 500 000 9 830 000 (6 000 000; 13 000 000) 4 000 000 62 000 000
tests::pause_program_works 142 000 000; +951.85% ‼️ 13 500 000 14 520 000 (11 000 000; 17 000 000) 9 000 000 68 000 000
tests::pause_terminated_program_fails 141 000 000; +1384.21% ‼️ 9 500 000 9 700 000 (6 000 000; 13 000 000) 4 000 000 33 000 000
tests::pause_uninitialized_program_works 139 000 000; +892.86% ‼️ 14 000 000 14 900 000 (11 000 000; 17 000 000) 9 000 000 53 000 000
tests::resume_program_twice_fails 140 000 000; +677.78% ‼️ 18 000 000 19 550 000 (15 000 000; 21 500 000) 13 000 000 75 000 000
tests::resume_program_wrong_list_fails 137 000 000; +756.25% ‼️ 16 000 000 16 760 000 (13 000 000; 19 000 000) 11 000 000 40 000 000
tests::resume_program_wrong_memory_fails 137 000 000; +813.33% ‼️ 15 000 000 15 330 000 (13 000 000; 17 000 000) 10 000 000 24 000 000
tests::resume_uninitialized_program_works 138 000 000; +762.50% ‼️ 16 000 000 16 110 000 (13 000 000; 19 000 000) 10 000 000 25 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 137 000 000; +1726.67% ‼️ 7 500 000 8 230 000 (5 000 000; 11 500 000) 3 000 000 17 000 000
tests::gear_handles_outdated_tasks 129 000 000; +1190.00% ‼️ 10 000 000 9 560 000 (6 000 000; 13 000 000) 5 000 000 17 000 000
tests::gear_handles_tasks 129 000 000; +1417.65% ‼️ 8 500 000 9 020 000 (6 000 000; 12 000 000) 4 000 000 16 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 163 566 085 548; +93.41% ‼️ 84 568 114 550 84 583 715 644 (84 423 569 492; 84 734 796 628) 84 143 142 534 85 025 008 357

name = Async RwLock

name current median average lower/upper quartile min max
check readers 553 659 357; +546.83% ‼️ 85 596 345 87 321 772 (82 648 046; 90 791 550) 76 565 231 108 953 823
forever lock 808 133 065; +784.34% ‼️ 91 382 942 92 050 540 (87 060 845; 96 337 004) 78 488 388 111 321 059
read while writing 1 387 184 120; +1232.97% ‼️ 104 067 246 105 347 049 (100 240 966; 109 625 527) 92 779 511 133 183 191
rwlock wide 2 321 082 514; +1715.12% ‼️ 127 874 724 129 439 428 (118 580 098; 135 261 383) 106 176 206 164 703 957
write while reading 1 711 899 786; +1469.13% ‼️ 109 098 502 110 776 248 (104 300 533; 116 247 666) 94 469 422 139 699 006

name = Async init

name current median average lower/upper quartile min max
approved pong 10 944 239 764; +4.52% ‼️ 10 470 533 573 10 472 122 478 (10 436 740 467; 10 506 232 280) 10 334 260 803 10 635 424 823

name = Async-await

name current median average lower/upper quartile min max
async-await 2 479 693 486; +1785.00% ‼️ 131 548 846 134 714 421 (126 931 988; 139 635 661) 118 503 539 172 740 324
mutex 2 164 487 225; +1526.92% ‼️ 133 041 988 134 821 827 (124 962 153; 139 740 316) 116 145 050 175 839 606
rwlock-write 2 391 114 592; +1692.13% ‼️ 133 422 890 136 138 744 (126 943 976; 141 973 473) 116 074 920 202 837 703

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 884 203 594; +851.21% ‼️ 92 955 905 94 352 349 (90 487 681; 97 963 985) 75 315 701 126 961 362

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 16 034 517 008; +220.69% ‼️ 4 999 987 333 5 002 851 491 (4 983 181 774; 5 024 824 903) 4 896 246 095 5 122 509 193
2 of 3; bob & eve 5 899 639 331; +17.80% ‼️ 5 008 193 908 5 005 996 732 (4 981 707 188; 5 029 183 170) 4 892 427 920 5 102 286 762
2 of 3; eve & alice 16 068 310 645; +221.58% ‼️ 4 996 609 108 4 994 054 011 (4 972 688 793; 5 021 996 962) 4 902 439 067 5 084 272 682
2 of 3; eve doesn't answer, alice replies with incorrect payload 5 706 572 576; +15.22% ‼️ 4 952 762 220 4 952 420 494 (4 933 065 504; 4 979 083 824) 4 850 714 154 5 019 592 914
2 of 3; no replies 6 530 662 742; +33.90% ‼️ 4 877 407 989 4 879 557 055 (4 861 681 692; 4 893 991 135) 4 808 001 432 4 965 665 548
Single signatory & zero threshold 5 882 870 973; +18.75% ‼️ 4 954 034 393 4 949 408 929 (4 920 942 003; 4 974 645 729) 4 850 796 218 5 053 442 433
Three signatories; Bob replies with incorrect signature 11 543 845 749; +132.85% ‼️ 4 957 661 794 4 960 524 502 (4 937 900 082; 4 986 325 603) 4 855 225 634 5 077 665 907
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 13 938 796 613; +181.14% ‼️ 4 958 006 117 4 955 386 071 (4 928 210 855; 4 978 875 054) 4 857 537 069 5 058 837 586

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 270 733 712; +32.49% ‼️ 2 468 676 567 2 468 365 520 (2 450 349 499; 2 484 871 359) 2 417 984 532 2 557 353 085
correct signature but for another message 3 423 549 269; +36.24% ‼️ 2 512 928 777 2 513 189 969 (2 491 815 735; 2 531 041 304) 2 456 506 963 2 585 301 044
no reply 3 236 699 853; +32.16% ‼️ 2 449 044 307 2 450 253 608 (2 435 470 268; 2 463 425 520) 2 395 511 640 2 542 216 513
signed message 3 555 016 155; +41.61% ‼️ 2 510 370 969 2 511 165 139 (2 494 898 098; 2 529 623 375) 2 458 580 743 2 576 609 858

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 244 463 174; +1085.50% ‼️ 273 679 558 276 384 201 (265 309 932; 284 149 066) 254 596 290 316 109 797

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 531 719 954; +594.92% ‼️ 76 515 637 77 805 475 (73 720 103; 81 900 986) 56 213 070 105 788 869

name = Chat

name current median average lower/upper quartile min max
chat 1 647 896 680; +1448.07% ‼️ 106 448 120 108 351 696 (101 323 668; 113 243 451) 91 189 018 145 681 577

name = Decoder

name current median average lower/upper quartile min max
decoder 8 608 041; -87.99% ✔️ 71 668 444 73 423 104 (69 124 194; 77 056 062) 60 602 853 90 869 420

name = Exit code

name current median average lower/upper quartile min max
normal 301 459 739; +327.48% ‼️ 70 520 782 70 860 122 (66 297 843; 74 560 265) 54 383 980 91 525 662
panic 341 029 473; +374.25% ‼️ 71 909 706 72 961 293 (68 540 745; 75 607 724) 58 791 860 100 663 024

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 929 993 136; +1844.41% ‼️ 150 687 678 153 147 903 (143 266 355; 160 993 367) 132 460 715 206 993 198
join 2 586 532 280; +1601.06% ‼️ 152 054 383 153 213 061 (144 349 932; 159 833 292) 130 600 803 199 273 364
select 2 907 567 021; +1910.04% ‼️ 144 652 183 148 734 876 (138 449 703; 155 318 809) 129 783 168 204 290 701

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 470 013 980; +1765.52% ‼️ 132 403 786 135 280 377 (123 514 270; 142 456 951) 113 611 922 177 047 713

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 295 340 006; +311.54% ‼️ 71 765 196 73 278 850 (67 878 475; 76 348 702) 56 529 553 104 131 213

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 431 133 969; +431.69% ‼️ 81 087 563 82 752 285 (78 420 677; 86 265 659) 69 709 172 99 190 088

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 003 030 378; +2.78% ‼️ 9 732 440 616 9 725 214 899 (9 703 753 441; 9 759 085 503) 9 578 268 468 9 828 126 835

name = Multiping

name current median average lower/upper quartile min max
multiping 11 091 660; -83.11% ✔️ 65 673 282 66 611 995 (60 849 963; 69 740 581) 55 303 189 94 268 611

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 12 723 485; -80.91% ✔️ 66 636 405 67 401 511 (61 926 648; 71 976 560) 52 863 208 92 842 198
ping-pong wgas 448 577 437; +508.49% ‼️ 73 720 319 74 470 232 (70 006 103; 77 858 884) 59 087 552 105 181 645

name = Program generator

name current median average lower/upper quartile min max
program_generator 75 903 896; +48.79% ‼️ 51 013 287 52 429 842 (48 725 244; 56 459 623) 38 927 655 69 530 896

name = Program_id test

name current median average lower/upper quartile min max
program_id 199 334 174; +223.94% ‼️ 61 533 781 61 977 421 (57 638 402; 65 755 021) 49 417 253 79 054 390

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 405 460 636; +467.61% ‼️ 71 433 584 72 991 314 (68 828 276; 76 599 644) 58 203 432 102 215 310
state-saving 321 988 820; +353.54% ‼️ 70 994 515 71 796 749 (66 771 004; 75 960 446) 55 578 430 90 423 137

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 73 325 867; +7.15% ❗ 68 429 960 68 134 090 (64 621 284; 71 186 479) 49 349 838 91 904 229
Try to re-init existing program 327 556 639; +313.42% ‼️ 79 231 079 79 466 878 (75 201 417; 82 584 318) 64 440 701 95 132 690

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 153 722 060; +211.40% ‼️ 49 364 478 49 543 883 (45 202 065; 52 582 636) 40 118 518 67 394 992

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 46 415 471; -58.61% ✔️ 112 136 000 114 295 944 (107 406 758; 119 988 531) 94 237 218 145 874 113

name = Wait test

name current median average lower/upper quartile min max
wait 529 029 602; +596.74% ‼️ 75 929 549 78 276 642 (71 717 811; 83 457 335) 60 049 525 108 348 110

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 16 191 624; -81.04% ✔️ 85 410 568 86 705 961 (82 088 752; 89 582 191) 56 045 044 106 984 602

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 472 880 568; +505.50% ‼️ 78 098 098 78 206 287 (75 129 332; 81 625 896) 60 446 590 91 108 990

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 127 569 968; +6.61% ‼️ 4 809 669 601 4 802 640 055 (4 775 868 563; 4 825 931 378) 4 693 797 531 4 895 519 815

name = gui test

name current median average lower/upper quartile min max
gui 6 908 613 680; +6.81% ‼️ 6 467 867 686 6 467 100 295 (6 438 873 190; 6 490 915 811) 6 330 563 510 6 582 151 884
4dcf7b5
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 48 765 000 000; +1142.90% ‼️ 3 923 500 000 4 313 319 999 (3 720 000 000; 4 089 500 000) 3 341 000 000 44 388 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 10 000 000; -16.67% ✔️ 12 000 000 11 490 000 (8 000 000; 14 000 000) 6 000 000 17 000 000
schedule::test::print_test_schedule 10 000 000; -23.08% ✔️ 13 000 000 11 900 000 (9 000 000; 14 000 000) 5 000 000 17 000 000
tests::block_gas_limit_works 21 000 000; +23.53% ‼️ 17 000 000 16 520 000 (15 000 000; 18 000 000) 12 000 000 21 000 000
tests::call_forbidden_function 15 000 000; +7.14% ✔️ 14 000 000 14 070 000 (13 000 000; 16 000 000) 8 000 000 23 000 000
tests::cascading_messages_with_value_do_not_overcharge 216 000 000; +292.73% ‼️ 55 000 000 57 130 000 (54 000 000; 60 000 000) 49 000 000 71 000 000
tests::claim_value_from_mailbox_works 16 000 000; +14.29% ❗ 14 000 000 14 350 000 (13 000 000; 16 000 000) 9 000 000 22 000 000
tests::defer_program_initialization 166 000 000; +492.86% ‼️ 28 000 000 28 320 000 (26 000 000; 30 000 000) 23 000 000 39 000 000
tests::distributor_distribute 113 000 000; +438.10% ‼️ 21 000 000 21 200 000 (19 000 000; 23 000 000) 15 000 000 31 000 000
tests::distributor_initialize 21 000 000; +31.25% ❗ 16 000 000 16 180 000 (14 500 000; 18 000 000) 11 000 000 22 000 000
tests::events_logging_works 20 000 000; +42.86% ❗ 14 000 000 14 620 000 (13 000 000; 16 000 000) 9 000 000 22 000 000
tests::execution_over_blocks 411 000 000; +106.53% ‼️ 199 000 000 201 440 000 (197 000 000; 204 000 000) 193 000 000 220 000 000
tests::exit_handle 16 000 000; +23.08% ❗ 13 000 000 13 530 000 (12 000 000; 14 000 000) 8 000 000 23 000 000
tests::exit_init 106 000 000; +457.89% ‼️ 19 000 000 19 190 000 (17 000 000; 21 000 000) 13 000 000 28 000 000
tests::gas_spent_precalculated 19 000 000; +46.15% ‼️ 13 000 000 13 070 000 (12 000 000; 14 000 000) 8 000 000 18 000 000
tests::gas_spent_vs_balance 187 000 000; +392.11% ‼️ 38 000 000 37 480 000 (35 000 000; 40 000 000) 29 000 000 44 000 000
tests::init_message_logging_works 16 000 000; +23.08% ❗ 13 000 000 13 010 000 (12 000 000; 14 000 000) 9 000 000 19 000 000
tests::init_wait_reply_exit_cleaned_storage 164 000 000; +465.52% ‼️ 29 000 000 28 650 000 (26 000 000; 31 000 000) 20 000 000 41 000 000
tests::lazy_pages 26 000 000; +100.00% ‼️ 13 000 000 12 660 000 (11 000 000; 14 000 000) 8 000 000 22 000 000
tests::mailbox_threshold_works 169 000 000; +525.93% ‼️ 27 000 000 26 930 000 (25 000 000; 30 000 000) 19 000 000 34 000 000
tests::mailbox_works 116 000 000; +792.31% ‼️ 13 000 000 12 670 000 (11 000 000; 14 000 000) 8 000 000 17 000 000
tests::memory_access_cases 19 000 000; +46.15% ‼️ 13 000 000 13 010 000 (12 000 000; 14 000 000) 9 000 000 17 000 000
tests::messages_processing_works 19 000 000; +46.15% ‼️ 13 000 000 12 910 000 (12 000 000; 14 000 000) 9 000 000 17 000 000
tests::messages_to_paused_program_skipped 125 000 000; +594.44% ‼️ 18 000 000 18 320 000 (17 000 000; 20 000 000) 14 000 000 28 000 000
tests::messages_to_uninitialized_program_wait 127 000 000; +605.56% ‼️ 18 000 000 18 280 000 (17 000 000; 20 000 000) 14 000 000 25 000 000
tests::no_redundant_gas_value_after_exiting 63 000 000; +366.67% ‼️ 13 500 000 13 600 000 (12 000 000; 15 000 000) 9 000 000 21 000 000
tests::paused_program_keeps_id 152 000 000; +623.81% ‼️ 21 000 000 20 780 000 (18 000 000; 22 500 000) 14 000 000 31 000 000
tests::program_lifecycle_works 130 000 000; +900.00% ‼️ 13 000 000 12 920 000 (11 000 000; 14 000 000) 8 000 000 23 000 000
tests::program_messages_to_paused_program_skipped 164 000 000; +485.71% ‼️ 28 000 000 27 970 000 (26 000 000; 29 000 000) 21 000 000 36 000 000
tests::replies_to_paused_program_skipped 137 000 000; +661.11% ‼️ 18 000 000 17 950 000 (16 000 000; 19 000 000) 13 000 000 28 000 000
tests::restrict_start_section 71 000 000; +545.45% ‼️ 11 000 000 11 200 000 (10 000 000; 13 000 000) 6 000 000 21 000 000
tests::resume_program_works 166 000 000; +514.81% ‼️ 27 000 000 27 150 000 (26 000 000; 28 000 000) 21 000 000 37 000 000
tests::send_message_expected_failure 128 000 000; +884.62% ‼️ 13 000 000 12 990 000 (11 000 000; 14 000 000) 8 000 000 20 000 000
tests::send_message_works 108 000 000; +800.00% ‼️ 12 000 000 12 550 000 (11 000 000; 14 000 000) 8 000 000 20 000 000
tests::send_reply_failure_to_claim_from_mailbox 122 000 000; +916.67% ‼️ 12 000 000 12 390 000 (11 000 000; 13 000 000) 7 000 000 21 000 000
tests::send_reply_value_claiming_works 129 000 000; +975.00% ‼️ 12 000 000 12 630 000 (11 000 000; 13 500 000) 9 000 000 20 000 000
tests::send_reply_works 127 000 000; +958.33% ‼️ 12 000 000 12 160 000 (11 000 000; 13 000 000) 8 000 000 19 000 000
tests::spent_gas_to_reward_block_author_works 120 000 000; +990.91% ‼️ 11 000 000 11 260 000 (10 000 000; 12 000 000) 6 000 000 18 000 000
tests::submit_program_expected_failure 126 000 000; +1045.45% ‼️ 11 000 000 10 120 000 (8 000 000; 12 000 000) 6 000 000 17 000 000
tests::submit_program_fails_on_duplicate_id 130 000 000; +1081.82% ‼️ 11 000 000 11 290 000 (10 000 000; 13 000 000) 7 000 000 19 000 000
tests::test_async_messages 312 000 000; +140.00% ‼️ 130 000 000 131 900 000 (129 000 000; 133 000 000) 126 000 000 145 000 000
tests::test_code_is_not_reset_within_program_submission 137 000 000; +1145.45% ‼️ 11 000 000 10 070 000 (7 000 000; 12 000 000) 6 000 000 17 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 133 000 000; +1230.00% ‼️ 10 000 000 10 130 000 (7 000 000; 12 000 000) 6 000 000 17 000 000
tests::test_code_submission_pass 133 000 000; +1377.78% ‼️ 9 000 000 9 780 000 (7 000 000; 12 000 000) 5 000 000 17 000 000
tests::test_create_program_duplicate 172 000 000; +537.04% ‼️ 27 000 000 26 880 000 (26 000 000; 28 000 000) 22 000 000 30 000 000
tests::test_create_program_duplicate_in_one_execution 161 000 000; +666.67% ‼️ 21 000 000 20 780 000 (19 000 000; 22 000 000) 16 000 000 28 000 000
tests::test_create_program_miscellaneous 183 000 000; +577.78% ‼️ 27 000 000 27 670 000 (27 000 000; 28 000 000) 24 000 000 31 000 000
tests::test_create_program_no_code_hash 208 000 000; +362.22% ‼️ 45 000 000 46 130 000 (44 000 000; 46 000 000) 43 000 000 59 000 000
tests::test_create_program_simple 186 000 000; +564.29% ‼️ 28 000 000 28 660 000 (27 000 000; 30 000 000) 25 000 000 34 000 000
tests::test_create_program_with_exceeding_value 150 000 000; +837.50% ‼️ 16 000 000 15 960 000 (15 000 000; 17 000 000) 12 000 000 26 000 000
tests::test_create_program_with_value_lt_ed 160 000 000; +661.90% ‼️ 21 000 000 20 510 000 (19 000 000; 22 000 000) 15 000 000 26 000 000
tests::test_create_program_without_gas_works 152 000 000; +913.33% ‼️ 15 000 000 15 680 000 (15 000 000; 16 000 000) 13 000 000 25 000 000
tests::test_message_processing_for_non_existing_destination 138 000 000; +1100.00% ‼️ 11 500 000 11 220 000 (8 000 000; 14 000 000) 5 000 000 19 000 000
tests::test_reply_to_terminated_program 150 000 000; +900.00% ‼️ 15 000 000 15 050 000 (14 000 000; 16 000 000) 10 000 000 19 000 000
tests::test_same_code_submission_fails 134 000 000; +1476.47% ‼️ 8 500 000 9 530 000 (7 000 000; 13 000 000) 5 000 000 17 000 000
tests::test_two_contracts_composition_works 198 000 000; +465.71% ‼️ 35 000 000 35 860 000 (34 000 000; 37 000 000) 32 000 000 43 000 000
tests::uninitialized_program_should_accept_replies 160 000 000; +644.19% ‼️ 21 500 000 21 160 000 (20 000 000; 22 000 000) 17 000 000 25 000 000
tests::unstoppable_block_execution_works 152 000 000; +985.71% ‼️ 14 000 000 13 580 000 (13 000 000; 15 000 000) 8 000 000 19 000 000
tests::unused_gas_released_back_works 146 000 000; +1116.67% ‼️ 12 000 000 11 240 000 (9 000 000; 14 000 000) 6 000 000 15 000 000
tests::wake_messages_after_program_inited 192 000 000; +380.00% ‼️ 40 000 000 41 650 000 (39 000 000; 44 500 000) 37 000 000 52 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 145 000 000; +1511.11% ‼️ 9 000 000 9 580 000 (7 000 000; 12 000 000) 5 000 000 21 000 000
tests::check_changed_pages_in_storage 151 000 000; +1061.54% ‼️ 13 000 000 12 970 000 (10 000 000; 15 000 000) 8 000 000 20 000 000
tests::check_not_allocated_pages 149 000 000; +1046.15% ‼️ 13 000 000 12 590 000 (10 000 000; 14 000 000) 8 000 000 20 000 000
tests::debug_mode_works 149 000 000; +1046.15% ‼️ 13 000 000 12 670 000 (10 000 000; 14 000 000) 8 000 000 20 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 344 000 000; +3947.06% ‼️ 8 500 000 8 820 000 (8 000 000; 9 500 000) 5 000 000 19 000 000
tests::all_keys_are_cleared 340 000 000; +3677.78% ‼️ 9 000 000 9 270 000 (8 000 000; 10 000 000) 6 000 000 18 000 000
tests::can_cut_nodes 339 000 000; +3666.67% ‼️ 9 000 000 9 750 000 (8 000 000; 11 000 000) 6 000 000 19 000 000
tests::catch_value_all_blocked 335 000 000; +2691.67% ‼️ 12 000 000 12 230 000 (9 500 000; 15 000 000) 7 000 000 19 000 000
tests::catch_value_all_catch 334 000 000; +3611.11% ‼️ 9 000 000 9 380 000 (8 000 000; 10 000 000) 6 000 000 17 000 000
tests::gas_free_after_consumed 330 000 000; +3566.67% ‼️ 9 000 000 8 900 000 (8 000 000; 9 000 000) 7 000 000 16 000 000
tests::limit_vs_origin 329 000 000; +3190.00% ‼️ 10 000 000 11 230 000 (8 000 000; 14 000 000) 7 000 000 17 000 000
tests::long_chain 329 000 000; +3555.56% ‼️ 9 000 000 10 620 000 (8 000 000; 14 000 000) 7 000 000 17 000 000
tests::simple_value_tree 327 000 000; +3987.50% ‼️ 8 000 000 8 390 000 (8 000 000; 9 000 000) 6 000 000 16 000 000
tests::split_with_no_value 329 000 000; +3770.59% ‼️ 8 500 000 10 010 000 (8 000 000; 13 000 000) 6 000 000 16 000 000
tests::splits_fail 327 000 000; +2415.38% ‼️ 13 000 000 11 820 000 (8 000 000; 15 000 000) 7 000 000 16 000 000
tests::sub_nodes_tree_with_spends 328 000 000; +4000.00% ‼️ 8 000 000 9 900 000 (7 000 000; 14 000 000) 6 000 000 16 000 000
tests::subtree_gas_limit_remains_intact 327 000 000; +2415.38% ‼️ 13 000 000 11 330 000 (8 000 000; 14 000 000) 7 000 000 15 000 000
tests::test_consume_procedure_with_subnodes 311 000 000; +2292.31% ‼️ 13 000 000 10 980 000 (7 000 000; 14 000 000) 6 000 000 15 000 000
tests::test_imbalances_drop 324 000 000; +4528.57% ‼️ 7 000 000 7 710 000 (6 000 000; 8 000 000) 5 000 000 15 000 000
tests::value_tree_known_errors 326 000 000; +3331.58% ‼️ 9 500 000 9 910 000 (7 000 000; 13 000 000) 6 000 000 15 000 000
tests::value_tree_with_all_kinds_of_nodes 323 000 000; +3937.50% ‼️ 8 000 000 9 180 000 (6 500 000; 12 000 000) 5 000 000 14 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 321 000 000; +5250.00% ‼️ 6 000 000 6 770 000 (6 000 000; 7 000 000) 4 000 000 12 000 000
tests::dequeued_impl_works_manually 321 000 000; +4485.71% ‼️ 7 000 000 7 540 000 (6 000 000; 8 000 000) 4 000 000 13 000 000
tests::queue_processing_impl_works_manually 319 000 000; +4457.14% ‼️ 7 000 000 7 160 000 (6 000 000; 8 000 000) 5 000 000 12 000 000
tests::queue_works 317 000 000; +4428.57% ‼️ 7 000 000 7 520 000 (6 000 000; 9 000 000) 5 000 000 12 000 000
tests::sent_impl_works 317 000 000; +4428.57% ‼️ 7 000 000 7 190 000 (6 000 000; 8 000 000) 5 000 000 11 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 315 000 000; +4400.00% ‼️ 7 000 000 6 860 000 (6 000 000; 8 000 000) 4 000 000 10 000 000
tests::custom_fee_multiplier_updated_per_block 314 000 000; +4385.71% ‼️ 7 000 000 7 380 000 (7 000 000; 8 000 000) 5 000 000 10 000 000
tests::fee_rounding_error_bounded_by_multiplier 311 000 000; +3787.50% ‼️ 8 000 000 7 640 000 (7 000 000; 8 000 000) 5 000 000 10 000 000
tests::mq_size_affecting_fee_works 312 000 000; +4357.14% ‼️ 7 000 000 7 240 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::mq_size_not_affecting_fee_works 312 000 000; +4357.14% ‼️ 7 000 000 7 060 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::query_info_and_fee_details_work 310 000 000; +4328.57% ‼️ 7 000 000 6 780 000 (6 000 000; 7 000 000) 5 000 000 8 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 85 000 000; +1207.69% ‼️ 6 500 000 6 510 000 (6 000 000; 7 000 000) 5 000 000 8 000 000
tests::pause_program_twice_fails 84 000 000; +1300.00% ‼️ 6 000 000 6 120 000 (6 000 000; 6 000 000) 5 000 000 8 000 000
tests::pause_program_works 88 000 000; +780.00% ‼️ 10 000 000 9 520 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::pause_terminated_program_fails 83 000 000; +1560.00% ‼️ 5 000 000 5 450 000 (5 000 000; 6 000 000) 4 000 000 7 000 000
tests::pause_uninitialized_program_works 86 000 000; +760.00% ‼️ 10 000 000 9 640 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::resume_program_twice_fails 95 000 000; +578.57% ‼️ 14 000 000 14 140 000 (13 000 000; 14 000 000) 12 000 000 18 000 000
tests::resume_program_wrong_list_fails 90 000 000; +650.00% ‼️ 12 000 000 11 800 000 (11 000 000; 12 000 000) 10 000 000 15 000 000
tests::resume_program_wrong_memory_fails 91 000 000; +658.33% ‼️ 12 000 000 11 890 000 (11 000 000; 12 000 000) 10 000 000 15 000 000
tests::resume_uninitialized_program_works 91 000 000; +658.33% ‼️ 12 000 000 12 310 000 (12 000 000; 13 000 000) 11 000 000 16 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 128 000 000; +3100.00% ‼️ 4 000 000 4 410 000 (4 000 000; 5 000 000) 3 000 000 6 000 000
tests::gear_handles_outdated_tasks 129 000 000; +2050.00% ‼️ 6 000 000 6 120 000 (6 000 000; 7 000 000) 5 000 000 8 000 000
tests::gear_handles_tasks 128 000 000; +2033.33% ‼️ 6 000 000 5 730 000 (5 000 000; 6 000 000) 5 000 000 7 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 237 426 070 867; +181.00% ‼️ 84 494 044 573 84 515 977 937 (84 365 407 409; 84 668 918 902) 83 951 611 976 85 198 704 114

name = Async RwLock

name current median average lower/upper quartile min max
check readers 820 031 431; +843.57% ‼️ 86 907 231 88 312 870 (83 819 933; 91 339 679) 79 072 402 106 156 503
forever lock 875 473 526; +845.02% ‼️ 92 640 836 93 161 705 (89 094 354; 95 792 988) 82 070 952 115 353 402
read while writing 1 752 805 269; +1567.50% ‼️ 105 115 998 107 089 361 (101 020 379; 111 208 429) 94 056 728 145 369 025
rwlock wide 2 830 817 761; +2085.52% ‼️ 129 526 001 130 391 869 (122 136 914; 134 597 839) 110 708 670 169 373 170
write while reading 1 974 534 446; +1682.29% ‼️ 110 786 314 112 884 925 (106 005 052; 115 802 235) 94 062 227 149 315 485

name = Async init

name current median average lower/upper quartile min max
approved pong 11 106 031 217; +6.05% ‼️ 10 472 136 042 10 469 544 747 (10 426 173 506; 10 513 622 642) 10 278 977 737 10 624 110 709

name = Async-await

name current median average lower/upper quartile min max
async-await 2 670 891 749; +1879.51% ‼️ 134 926 709 137 613 974 (129 462 506; 142 603 494) 117 615 481 172 912 721
mutex 2 627 987 923; +1871.50% ‼️ 133 298 832 135 852 798 (124 476 840; 143 197 490) 114 822 106 171 293 236
rwlock-write 2 641 513 766; +1921.12% ‼️ 130 695 550 132 229 658 (124 421 108; 138 151 338) 104 669 403 177 908 741

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 005 414 482; +971.09% ‼️ 93 868 184 95 293 762 (90 890 534; 99 734 949) 82 870 468 114 929 637

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 22 588 821 416; +352.56% ‼️ 4 991 334 434 4 989 837 924 (4 958 420 455; 5 015 532 525) 4 909 086 160 5 083 935 766
2 of 3; bob & eve 22 584 234 121; +351.10% ‼️ 5 006 462 950 4 999 897 745 (4 984 006 334; 5 021 837 905) 4 897 932 380 5 073 930 464
2 of 3; eve & alice 14 014 977 080; +180.83% ‼️ 4 990 548 512 4 989 210 104 (4 962 936 164; 5 014 763 243) 4 895 036 754 5 070 842 332
2 of 3; eve doesn't answer, alice replies with incorrect payload 19 320 786 878; +290.12% ‼️ 4 952 534 934 4 953 028 918 (4 922 591 850; 4 977 827 391) 4 862 519 394 5 085 443 347
2 of 3; no replies 6 765 612 136; +38.77% ‼️ 4 875 250 960 4 873 461 163 (4 852 433 531; 4 895 880 208) 4 777 102 434 4 940 264 345
Single signatory & zero threshold 19 542 638 209; +295.23% ‼️ 4 944 648 797 4 941 398 295 (4 920 621 080; 4 964 529 750) 4 852 328 089 4 998 760 574
Three signatories; Bob replies with incorrect signature 20 441 597 932; +312.66% ‼️ 4 953 676 664 4 950 781 074 (4 925 075 022; 4 972 282 893) 4 842 792 424 5 085 969 275
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 20 415 592 410; +312.56% ‼️ 4 948 571 627 4 948 351 196 (4 922 065 783; 4 975 298 895) 4 845 614 854 5 085 042 154

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 474 106 563; +41.42% ‼️ 2 456 603 871 2 457 389 949 (2 442 763 444; 2 471 668 572) 2 398 347 070 2 521 602 274
correct signature but for another message 3 617 346 508; +44.26% ‼️ 2 507 569 067 2 509 709 788 (2 486 096 625; 2 534 289 063) 2 450 601 539 2 574 571 557
no reply 3 705 857 633; +51.27% ‼️ 2 449 858 087 2 451 349 921 (2 436 045 259; 2 467 811 407) 2 381 024 664 2 519 932 429
signed message 3 859 391 766; +53.53% ‼️ 2 513 803 970 2 517 466 672 (2 496 662 377; 2 537 600 900) 2 453 426 271 2 593 120 558

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 800 126 600; +1288.48% ‼️ 273 690 529 276 787 020 (265 105 174; 284 971 651) 256 521 847 314 055 788

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 642 116 701; +742.06% ‼️ 76 255 303 77 058 439 (72 787 518; 81 209 227) 63 507 455 96 185 525

name = Chat

name current median average lower/upper quartile min max
chat 1 726 336 909; +1547.31% ‼️ 104 797 263 106 357 779 (99 589 393; 110 962 457) 91 669 384 136 213 347

name = Decoder

name current median average lower/upper quartile min max
decoder 259 486 417; +269.18% ‼️ 70 286 621 71 693 299 (68 406 008; 73 573 752) 60 231 962 87 717 949

name = Exit code

name current median average lower/upper quartile min max
normal 323 291 412; +352.22% ‼️ 71 490 132 71 821 548 (68 387 422; 74 346 284) 59 671 419 89 500 000
panic 461 938 649; +542.92% ‼️ 71 850 306 72 703 457 (68 300 385; 76 390 831) 56 257 334 95 635 785

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 3 322 754 219; +2134.09% ‼️ 148 729 971 151 339 182 (141 739 380; 156 675 011) 133 413 382 189 024 104
join 3 448 661 125; +2172.00% ‼️ 151 789 799 153 723 002 (142 647 584; 161 565 417) 132 503 321 194 891 682
select 3 358 681 387; +2156.26% ‼️ 148 860 313 150 119 128 (139 398 508; 155 775 444) 128 124 059 191 574 096

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 3 211 232 051; +2294.10% ‼️ 134 131 124 136 264 534 (125 643 216; 142 423 740) 108 479 500 186 862 980

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 284 340 382; +294.13% ‼️ 72 144 229 73 570 659 (69 065 404; 77 863 817) 59 691 566 95 615 749

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 519 179 949; +539.72% ‼️ 81 157 268 82 749 603 (78 629 070; 85 788 844) 73 270 071 98 250 332

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 196 335 142; +4.76% ‼️ 9 733 005 339 9 728 522 354 (9 689 931 803; 9 753 248 872) 9 608 887 252 9 895 850 139

name = Multiping

name current median average lower/upper quartile min max
multiping 14 188 276; -78.58% ✔️ 66 244 794 67 171 058 (63 102 439; 71 446 706) 49 321 642 94 086 977

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 150 545 229; +133.41% ‼️ 64 497 392 65 331 446 (60 040 930; 69 565 272) 51 286 623 87 583 711
ping-pong wgas 581 833 073; +711.23% ‼️ 71 722 477 73 362 599 (67 739 099; 77 306 679) 57 272 688 103 794 646

name = Program generator

name current median average lower/upper quartile min max
program_generator 31 673 239; -40.98% ✔️ 53 668 823 52 595 183 (47 114 280; 56 190 965) 34 948 796 73 903 088

name = Program_id test

name current median average lower/upper quartile min max
program_id 167 423 759; +171.24% ‼️ 61 725 743 62 311 011 (57 983 341; 66 675 203) 48 786 794 78 675 065

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 501 981 992; +605.86% ‼️ 71 116 849 72 461 766 (66 494 048; 76 963 614) 58 730 644 98 867 027
state-saving 601 035 827; +744.19% ‼️ 71 196 672 72 299 284 (67 491 349; 75 571 218) 59 515 635 95 057 113

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 269 993 890; +297.94% ‼️ 67 847 592 68 607 612 (64 720 029; 72 064 972) 54 817 288 88 345 480
Try to re-init existing program 512 235 105; +546.81% ‼️ 79 193 862 79 167 531 (74 324 755; 83 173 457) 66 887 638 97 807 456

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 55 518 729; +14.81% ❗ 48 355 849 49 192 407 (44 794 846; 53 075 259) 25 152 470 68 662 995

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 54 285 735; -52.68% ✔️ 114 713 687 116 001 696 (108 133 042; 121 081 323) 98 132 341 150 671 257

name = Wait test

name current median average lower/upper quartile min max
wait 590 395 089; +682.57% ‼️ 75 442 659 76 716 259 (69 830 742; 82 304 648) 60 686 004 103 056 111

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 619 000 138; +624.42% ‼️ 85 447 530 86 312 718 (82 125 480; 89 654 746) 62 801 288 109 772 700

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 674 518 456; +757.42% ‼️ 78 668 036 79 713 466 (76 274 635; 82 802 881) 65 091 442 96 194 288

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 149 315 333; +7.28% ‼️ 4 800 062 017 4 799 860 493 (4 776 410 171; 4 824 064 677) 4 698 861 167 4 872 067 412

name = gui test

name current median average lower/upper quartile min max
gui 7 261 181 832; +12.32% ‼️ 6 464 491 359 6 457 904 965 (6 423 267 943; 6 493 421 949) 6 330 623 640 6 591 619 564
59ab9d5
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 40 576 000 000; +956.39% ❗ 3 841 000 000 4 266 129 999 (3 722 000 000; 4 021 000 000) 3 453 000 000 44 223 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 60 000 000; +400.00% ‼️ 12 000 000 11 740 000 (8 000 000; 14 000 000) 7 000 000 18 000 000
schedule::test::print_test_schedule 55 000 000; +323.08% ‼️ 13 000 000 12 810 000 (11 500 000; 15 000 000) 7 000 000 20 000 000
tests::block_gas_limit_works 62 000 000; +287.50% ‼️ 16 000 000 16 890 000 (16 000 000; 18 000 000) 11 000 000 24 000 000
tests::call_forbidden_function 43 000 000; +207.14% ‼️ 14 000 000 13 890 000 (12 500 000; 15 000 000) 8 000 000 19 000 000
tests::cascading_messages_with_value_do_not_overcharge 233 000 000; +316.07% ‼️ 56 000 000 57 550 000 (55 000 000; 59 000 000) 51 000 000 68 000 000
tests::claim_value_from_mailbox_works 58 000 000; +286.67% ‼️ 15 000 000 14 490 000 (13 000 000; 15 000 000) 11 000 000 22 000 000
tests::defer_program_initialization 88 000 000; +214.29% ‼️ 28 000 000 27 760 000 (26 000 000; 29 000 000) 20 000 000 40 000 000
tests::distributor_distribute 86 000 000; +309.52% ‼️ 21 000 000 21 680 000 (20 000 000; 23 000 000) 15 000 000 30 000 000
tests::distributor_initialize 57 000 000; +256.25% ‼️ 16 000 000 15 820 000 (14 000 000; 18 000 000) 11 000 000 20 000 000
tests::events_logging_works 56 000 000; +300.00% ‼️ 14 000 000 14 250 000 (13 000 000; 15 500 000) 10 000 000 20 000 000
tests::execution_over_blocks 605 000 000; +200.25% ‼️ 201 500 000 203 910 000 (199 000 000; 210 000 000) 194 000 000 227 000 000
tests::exit_handle 82 000 000; +530.77% ‼️ 13 000 000 13 220 000 (12 000 000; 14 000 000) 9 000 000 21 000 000
tests::exit_init 80 000 000; +300.00% ‼️ 20 000 000 19 640 000 (18 000 000; 21 000 000) 14 000 000 27 000 000
tests::gas_spent_precalculated 78 000 000; +500.00% ‼️ 13 000 000 13 200 000 (12 000 000; 14 000 000) 8 000 000 20 000 000
tests::gas_spent_vs_balance 115 000 000; +210.81% ‼️ 37 000 000 37 870 000 (35 500 000; 40 000 000) 30 000 000 45 000 000
tests::init_message_logging_works 80 000 000; +540.00% ‼️ 12 500 000 12 620 000 (11 000 000; 14 000 000) 8 000 000 20 000 000
tests::init_wait_reply_exit_cleaned_storage 114 000 000; +293.10% ‼️ 29 000 000 29 110 000 (27 000 000; 32 000 000) 21 000 000 36 000 000
tests::lazy_pages 79 000 000; +507.69% ‼️ 13 000 000 12 510 000 (11 000 000; 14 000 000) 8 000 000 18 000 000
tests::mailbox_rent_claimed 79 000 000; +338.89% ‼️ 18 000 000 18 780 000 (17 000 000; 20 000 000) 14 000 000 26 000 000
tests::mailbox_rent_out_of_rent 112 000 000; +386.96% ‼️ 23 000 000 22 560 000 (21 000 000; 24 000 000) 16 000 000 34 000 000
tests::mailbox_sending_instant_transfer 111 000 000; +516.67% ‼️ 18 000 000 18 300 000 (17 000 000; 20 000 000) 14 000 000 26 000 000
tests::mailbox_threshold_works 112 000 000; +314.81% ‼️ 27 000 000 26 820 000 (24 000 000; 30 000 000) 19 000 000 34 000 000
tests::mailbox_works 77 000 000; +492.31% ‼️ 13 000 000 13 060 000 (12 000 000; 14 500 000) 9 000 000 18 000 000
tests::memory_access_cases 74 000 000; +428.57% ‼️ 14 000 000 13 780 000 (12 000 000; 15 500 000) 8 000 000 20 000 000
tests::messages_processing_works 76 000 000; +484.62% ‼️ 13 000 000 13 550 000 (12 000 000; 15 000 000) 8 000 000 21 000 000
tests::messages_to_paused_program_skipped 111 000 000; +516.67% ‼️ 18 000 000 18 350 000 (17 000 000; 20 000 000) 13 000 000 29 000 000
tests::messages_to_uninitialized_program_wait 110 000 000; +511.11% ‼️ 18 000 000 18 050 000 (16 000 000; 20 000 000) 13 000 000 26 000 000
tests::no_redundant_gas_value_after_exiting 44 000 000; +238.46% ‼️ 13 000 000 13 300 000 (12 000 000; 15 000 000) 9 000 000 21 000 000
tests::paused_program_keeps_id 109 000 000; +445.00% ‼️ 20 000 000 20 700 000 (18 500 000; 23 000 000) 16 000 000 30 000 000
tests::program_lifecycle_works 74 000 000; +492.00% ‼️ 12 500 000 12 880 000 (11 000 000; 14 000 000) 10 000 000 22 000 000
tests::program_messages_to_paused_program_skipped 108 000 000; +285.71% ‼️ 28 000 000 28 120 000 (26 000 000; 29 500 000) 21 000 000 37 000 000
tests::replies_to_paused_program_skipped 108 000 000; +500.00% ‼️ 18 000 000 17 820 000 (16 000 000; 19 000 000) 12 000 000 29 000 000
tests::restrict_start_section 71 000 000; +545.45% ‼️ 11 000 000 10 560 000 (9 000 000; 12 000 000) 6 000 000 17 000 000
tests::resume_program_works 106 000 000; +292.59% ‼️ 27 000 000 26 470 000 (25 000 000; 28 000 000) 21 000 000 32 000 000
tests::send_message_expected_failure 107 000 000; +791.67% ‼️ 12 000 000 12 080 000 (11 000 000; 13 000 000) 8 000 000 19 000 000
tests::send_message_works 72 000 000; +500.00% ‼️ 12 000 000 11 850 000 (10 000 000; 13 000 000) 7 000 000 19 000 000
tests::send_reply_failure_to_claim_from_mailbox 72 000 000; +500.00% ‼️ 12 000 000 11 910 000 (11 000 000; 13 500 000) 7 000 000 18 000 000
tests::send_reply_value_claiming_works 105 000 000; +775.00% ‼️ 12 000 000 12 280 000 (11 000 000; 14 000 000) 8 000 000 18 000 000
tests::send_reply_works 106 000 000; +783.33% ‼️ 12 000 000 12 270 000 (11 000 000; 14 000 000) 8 000 000 16 000 000
tests::spent_gas_to_reward_block_author_works 69 000 000; +475.00% ‼️ 12 000 000 11 190 000 (9 000 000; 13 000 000) 7 000 000 16 000 000
tests::submit_program_expected_failure 94 000 000; +754.55% ‼️ 11 000 000 10 880 000 (9 000 000; 13 000 000) 5 000 000 21 000 000
tests::submit_program_fails_on_duplicate_id 94 000 000; +754.55% ‼️ 11 000 000 10 870 000 (9 000 000; 13 000 000) 7 000 000 22 000 000
tests::test_async_messages 504 000 000; +287.69% ‼️ 130 000 000 130 960 000 (128 000 000; 133 000 000) 124 000 000 154 000 000
tests::test_code_is_not_reset_within_program_submission 89 000 000; +790.00% ‼️ 10 000 000 10 040 000 (7 000 000; 12 000 000) 6 000 000 22 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 50 000 000; +354.55% ‼️ 11 000 000 10 820 000 (8 000 000; 13 000 000) 6 000 000 20 000 000
tests::test_code_submission_pass 81 000 000; +710.00% ‼️ 10 000 000 9 780 000 (7 000 000; 12 000 000) 5 000 000 22 000 000
tests::test_create_program_duplicate 189 000 000; +600.00% ‼️ 27 000 000 26 930 000 (26 000 000; 28 000 000) 22 000 000 30 000 000
tests::test_create_program_duplicate_in_one_execution 186 000 000; +830.00% ‼️ 20 000 000 20 360 000 (19 000 000; 21 000 000) 16 000 000 29 000 000
tests::test_create_program_miscellaneous 210 000 000; +677.78% ‼️ 27 000 000 27 640 000 (27 000 000; 28 000 000) 24 000 000 32 000 000
tests::test_create_program_no_code_hash 141 000 000; +213.33% ‼️ 45 000 000 46 580 000 (44 000 000; 47 500 000) 42 000 000 58 000 000
tests::test_create_program_simple 206 000 000; +635.71% ‼️ 28 000 000 28 500 000 (27 000 000; 29 500 000) 25 000 000 34 000 000
tests::test_create_program_with_exceeding_value 174 000 000; +1060.00% ‼️ 15 000 000 15 180 000 (14 000 000; 16 000 000) 11 000 000 20 000 000
tests::test_create_program_with_value_lt_ed 174 000 000; +770.00% ‼️ 20 000 000 19 630 000 (18 000 000; 22 000 000) 15 000 000 25 000 000
tests::test_create_program_without_gas_works 174 000 000; +1060.00% ‼️ 15 000 000 15 410 000 (14 000 000; 16 000 000) 12 000 000 24 000 000
tests::test_message_processing_for_non_existing_destination 173 000 000; +1284.00% ‼️ 12 500 000 11 340 000 (8 000 000; 14 000 000) 6 000 000 17 000 000
tests::test_reply_to_terminated_program 173 000 000; +1053.33% ‼️ 15 000 000 15 140 000 (14 000 000; 16 000 000) 13 000 000 23 000 000
tests::test_same_code_submission_fails 171 000 000; +1800.00% ‼️ 9 000 000 10 360 000 (7 000 000; 14 000 000) 5 000 000 22 000 000
tests::test_two_contracts_composition_works 202 000 000; +494.12% ‼️ 34 000 000 35 250 000 (33 000 000; 36 000 000) 31 000 000 44 000 000
tests::uninitialized_program_should_accept_replies 172 000 000; +681.82% ‼️ 22 000 000 21 200 000 (21 000 000; 22 000 000) 16 000 000 24 000 000
tests::unstoppable_block_execution_works 172 000 000; +1128.57% ‼️ 14 000 000 13 310 000 (11 000 000; 15 000 000) 8 000 000 23 000 000
tests::unused_gas_released_back_works 172 000 000; +1463.64% ‼️ 11 000 000 11 450 000 (9 000 000; 14 000 000) 7 000 000 22 000 000
tests::wake_messages_after_program_inited 134 000 000; +239.24% ‼️ 39 500 000 40 910 000 (38 000 000; 42 000 000) 36 000 000 51 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 175 000 000; +2087.50% ‼️ 8 000 000 8 660 000 (7 000 000; 10 000 000) 5 000 000 15 000 000
tests::check_changed_pages_in_storage 174 000 000; +1238.46% ‼️ 13 000 000 12 270 000 (10 000 000; 14 000 000) 8 000 000 21 000 000
tests::check_not_allocated_pages 174 000 000; +1238.46% ‼️ 13 000 000 12 660 000 (10 000 000; 15 000 000) 8 000 000 21 000 000
tests::debug_mode_works 173 000 000; +1230.77% ‼️ 13 000 000 12 270 000 (9 000 000; 14 000 000) 7 000 000 20 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 556 000 000; +6441.18% ‼️ 8 500 000 8 280 000 (7 000 000; 9 000 000) 5 000 000 13 000 000
tests::all_keys_are_cleared 557 000 000; +6088.89% ‼️ 9 000 000 10 020 000 (9 000 000; 10 000 000) 6 000 000 19 000 000
tests::can_cut_nodes 556 000 000; +6077.78% ‼️ 9 000 000 9 620 000 (8 000 000; 10 000 000) 7 000 000 16 000 000
tests::catch_value_all_blocked 556 000 000; +4176.92% ‼️ 13 000 000 12 430 000 (10 000 000; 15 000 000) 8 000 000 18 000 000
tests::catch_value_all_catch 555 000 000; +6066.67% ‼️ 9 000 000 9 430 000 (8 000 000; 10 000 000) 6 000 000 16 000 000
tests::gas_free_after_consumed 554 000 000; +6055.56% ‼️ 9 000 000 8 930 000 (8 000 000; 9 000 000) 6 000 000 18 000 000
tests::limit_vs_origin 523 000 000; +5130.00% ‼️ 10 000 000 11 540 000 (9 000 000; 15 000 000) 7 000 000 18 000 000
tests::long_chain 515 000 000; +5622.22% ‼️ 9 000 000 10 900 000 (8 000 000; 14 000 000) 7 000 000 17 000 000
tests::simple_value_tree 554 000 000; +6825.00% ‼️ 8 000 000 9 340 000 (8 000 000; 9 000 000) 6 000 000 16 000 000
tests::split_with_no_value 528 000 000; +6111.76% ‼️ 8 500 000 10 320 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::splits_fail 529 000 000; +3969.23% ‼️ 13 000 000 11 710 000 (8 000 000; 14 000 000) 7 000 000 16 000 000
tests::sub_nodes_tree_with_spends 538 000 000; +6625.00% ‼️ 8 000 000 10 140 000 (7 500 000; 14 000 000) 7 000 000 16 000 000
tests::subtree_gas_limit_remains_intact 539 000 000; +4046.15% ‼️ 13 000 000 11 730 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::test_consume_procedure_with_subnodes 517 000 000; +3876.92% ‼️ 13 000 000 11 180 000 (8 000 000; 14 000 000) 6 000 000 15 000 000
tests::test_imbalances_drop 552 000 000; +7785.71% ‼️ 7 000 000 7 810 000 (6 000 000; 8 000 000) 5 000 000 14 000 000
tests::value_tree_known_errors 504 000 000; +4100.00% ‼️ 12 000 000 10 280 000 (7 000 000; 13 000 000) 6 000 000 14 000 000
tests::value_tree_with_all_kinds_of_nodes 511 000 000; +6287.50% ‼️ 8 000 000 9 210 000 (7 000 000; 12 000 000) 6 000 000 14 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 497 000 000; +7000.00% ‼️ 7 000 000 6 780 000 (6 000 000; 7 000 000) 4 000 000 12 000 000
tests::dequeued_impl_works_manually 518 000 000; +7300.00% ‼️ 7 000 000 7 330 000 (6 000 000; 8 000 000) 4 000 000 12 000 000
tests::queue_processing_impl_works_manually 504 000 000; +7100.00% ‼️ 7 000 000 7 190 000 (6 000 000; 8 000 000) 5 000 000 12 000 000
tests::queue_works 518 000 000; +7300.00% ‼️ 7 000 000 7 400 000 (6 000 000; 8 000 000) 5 000 000 12 000 000
tests::sent_impl_works 519 000 000; +7314.29% ‼️ 7 000 000 7 290 000 (6 000 000; 8 000 000) 5 000 000 11 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 519 000 000; +7314.29% ‼️ 7 000 000 7 010 000 (6 000 000; 8 000 000) 4 000 000 11 000 000
tests::custom_fee_multiplier_updated_per_block 504 000 000; +6200.00% ‼️ 8 000 000 7 540 000 (6 500 000; 8 000 000) 5 000 000 10 000 000
tests::fee_rounding_error_bounded_by_multiplier 454 000 000; +5575.00% ‼️ 8 000 000 7 660 000 (7 000 000; 8 000 000) 6 000 000 10 000 000
tests::mq_size_affecting_fee_works 456 000 000; +5600.00% ‼️ 8 000 000 7 440 000 (7 000 000; 8 000 000) 5 000 000 10 000 000
tests::mq_size_not_affecting_fee_works 489 000 000; +6885.71% ‼️ 7 000 000 7 260 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::query_info_and_fee_details_work 448 000 000; +6300.00% ‼️ 7 000 000 7 020 000 (7 000 000; 7 000 000) 5 000 000 8 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 103 000 000; +1371.43% ‼️ 7 000 000 6 600 000 (6 000 000; 7 000 000) 5 000 000 8 000 000
tests::pause_program_twice_fails 69 000 000; +1050.00% ‼️ 6 000 000 6 190 000 (6 000 000; 7 000 000) 5 000 000 7 000 000
tests::pause_program_works 67 000 000; +644.44% ‼️ 9 000 000 9 460 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::pause_terminated_program_fails 103 000 000; +1772.73% ‼️ 5 500 000 5 520 000 (5 000 000; 6 000 000) 5 000 000 7 000 000
tests::pause_uninitialized_program_works 66 000 000; +594.74% ‼️ 9 500 000 9 650 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::resume_program_twice_fails 306 000 000; +2085.71% ‼️ 14 000 000 14 110 000 (13 000 000; 14 000 000) 12 000 000 18 000 000
tests::resume_program_wrong_list_fails 303 000 000; +2425.00% ‼️ 12 000 000 11 730 000 (11 000 000; 12 000 000) 10 000 000 15 000 000
tests::resume_program_wrong_memory_fails 305 000 000; +2441.67% ‼️ 12 000 000 11 960 000 (11 000 000; 12 000 000) 10 000 000 16 000 000
tests::resume_uninitialized_program_works 304 000 000; +2433.33% ‼️ 12 000 000 12 320 000 (12 000 000; 13 000 000) 11 000 000 15 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 65 000 000; +1525.00% ‼️ 4 000 000 4 440 000 (4 000 000; 5 000 000) 3 000 000 6 000 000
tests::gear_handles_outdated_tasks 350 000 000; +5733.33% ‼️ 6 000 000 6 010 000 (6 000 000; 6 000 000) 5 000 000 8 000 000
tests::gear_handles_tasks 267 000 000; +4350.00% ‼️ 6 000 000 5 680 000 (5 000 000; 6 000 000) 5 000 000 7 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 231 526 779 687; +173.91% ‼️ 84 526 456 453 84 540 450 988 (84 392 950 123; 84 673 813 635) 84 063 394 044 85 332 602 574

name = Async RwLock

name current median average lower/upper quartile min max
check readers 340 315 809; +296.08% ‼️ 85 920 792 87 004 927 (82 770 830; 91 345 048) 76 604 737 107 889 273
forever lock 1 034 675 976; +1056.29% ‼️ 89 482 391 91 063 489 (85 746 974; 94 607 303) 81 524 630 110 034 562
read while writing 1 962 575 407; +1766.07% ‼️ 105 171 683 107 108 140 (100 983 368; 112 747 279) 94 286 590 129 179 886
rwlock wide 2 558 915 003; +1913.71% ‼️ 127 074 560 127 712 570 (119 200 771; 134 264 284) 108 930 492 162 980 650
write while reading 2 252 162 211; +1978.04% ‼️ 108 379 044 109 728 897 (103 787 763; 114 487 943) 95 167 682 134 614 801

name = Async init

name current median average lower/upper quartile min max
approved pong 11 152 034 858; +6.36% ‼️ 10 485 280 452 10 487 703 253 (10 450 201 892; 10 522 653 308) 10 375 982 917 10 643 840 873

name = Async-await

name current median average lower/upper quartile min max
async-await 2 763 324 286; +1967.75% ‼️ 133 638 983 136 447 355 (126 132 002; 140 734 751) 118 165 548 187 001 954
mutex 2 822 264 785; +2056.67% ‼️ 130 862 238 132 638 236 (124 449 709; 138 292 521) 112 231 350 180 864 686
rwlock-write 2 920 574 946; +2105.75% ‼️ 132 407 164 133 162 340 (124 630 289; 139 773 792) 116 113 176 165 210 084

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 28 193 356; -69.49% ✔️ 92 406 784 94 621 385 (88 920 942; 99 020 833) 82 998 534 117 465 061

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 22 964 397 299; +359.35% ‼️ 4 999 355 536 4 997 072 797 (4 974 234 068; 5 023 263 455) 4 856 736 562 5 102 432 689
2 of 3; bob & eve 24 385 135 282; +388.45% ‼️ 4 992 323 632 4 993 860 346 (4 970 388 070; 5 014 126 904) 4 913 656 282 5 083 566 020
2 of 3; eve & alice 24 371 309 166; +388.24% ‼️ 4 991 681 510 4 993 810 511 (4 979 645 178; 5 015 748 066) 4 897 666 931 5 056 777 103
2 of 3; eve doesn't answer, alice replies with incorrect payload 20 597 248 209; +315.57% ‼️ 4 956 344 350 4 954 644 013 (4 928 389 056; 4 983 759 343) 4 848 622 812 5 052 147 121
2 of 3; no replies 6 186 587 906; +26.85% ‼️ 4 876 919 753 4 873 432 587 (4 853 770 148; 4 901 912 294) 4 760 451 185 4 972 195 907
Single signatory & zero threshold 20 282 963 050; +310.55% ‼️ 4 940 401 488 4 942 767 497 (4 916 051 476; 4 966 421 235) 4 854 806 752 5 031 959 470
Three signatories; Bob replies with incorrect signature 18 294 480 501; +269.35% ‼️ 4 953 148 475 4 952 006 430 (4 927 564 046; 4 978 708 169) 4 843 555 569 5 094 018 698
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 5 836 352 997; +17.92% ‼️ 4 949 487 968 4 955 178 618 (4 928 787 769; 4 982 084 026) 4 863 796 362 5 068 937 818

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 382 017 596; +37.43% ‼️ 2 460 883 060 2 462 530 242 (2 444 139 081; 2 482 555 675) 2 373 066 592 2 527 722 824
correct signature but for another message 3 719 673 975; +48.19% ‼️ 2 510 098 304 2 516 032 000 (2 492 668 165; 2 542 133 740) 2 455 733 107 2 585 725 034
no reply 3 646 109 382; +48.73% ‼️ 2 451 434 762 2 453 777 184 (2 434 723 761; 2 472 283 856) 2 382 334 495 2 515 966 632
signed message 3 657 348 734; +45.59% ‼️ 2 512 010 369 2 511 740 281 (2 492 101 962; 2 528 888 238) 2 437 728 748 2 593 106 469

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 754 230 829; +1262.71% ‼️ 275 497 174 278 701 438 (269 018 386; 285 988 634) 258 462 650 314 446 631

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 663 844 327; +771.66% ‼️ 76 158 445 77 164 617 (71 452 841; 81 200 182) 63 408 004 103 700 315

name = Chat

name current median average lower/upper quartile min max
chat 1 832 587 891; +1658.36% ‼️ 104 221 465 105 695 301 (99 982 559; 110 482 628) 90 363 261 136 711 386

name = Decoder

name current median average lower/upper quartile min max
decoder 280 509 236; +301.58% ‼️ 69 851 409 70 261 011 (66 912 982; 73 488 863) 49 085 684 88 097 844

name = Exit code

name current median average lower/upper quartile min max
normal 222 200 471; +215.75% ‼️ 70 372 427 71 015 650 (66 298 247; 74 007 014) 56 069 312 94 980 614
panic 439 505 239; +517.80% ‼️ 71 140 776 71 887 519 (67 802 109; 75 022 849) 59 663 299 87 791 735

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 3 076 065 706; +1930.91% ‼️ 151 462 377 152 310 382 (142 424 733; 159 335 986) 132 494 884 192 336 998
join 3 259 681 196; +2056.90% ‼️ 151 127 852 152 076 481 (141 354 737; 159 982 459) 131 813 057 187 630 393
select 2 980 675 395; +1949.28% ‼️ 145 450 216 147 844 757 (138 248 638; 154 057 205) 128 488 004 202 595 531

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 833 430 210; +2044.23% ‼️ 132 141 917 133 097 075 (123 442 313; 138 099 667) 104 730 248 187 782 599

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 57 992 383; -18.97% ✔️ 71 569 503 73 027 304 (67 814 698; 78 283 686) 58 252 423 97 165 394

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 632 234 617; +677.55% ‼️ 81 310 750 82 168 138 (76 854 693; 85 521 459) 71 651 984 101 164 098

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 135 266 443; +4.03% ‼️ 9 742 733 679 9 731 711 737 (9 705 805 344; 9 762 693 395) 9 565 277 232 9 834 890 262

name = Multiping

name current median average lower/upper quartile min max
multiping 306 225 397; +354.78% ‼️ 67 334 219 67 501 971 (61 923 361; 72 158 023) 52 513 580 84 672 678

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 200 109 301; +213.32% ‼️ 63 868 380 64 918 940 (59 574 167; 67 581 503) 49 254 103 87 518 744
ping-pong wgas 368 211 008; +414.93% ‼️ 71 507 107 71 932 132 (67 592 777; 76 323 380) 60 772 199 87 256 298

name = Program generator

name current median average lower/upper quartile min max
program_generator 6 529 301; -87.33% ✔️ 51 538 727 52 192 925 (46 685 523; 56 361 947) 33 573 748 70 621 296

name = Program_id test

name current median average lower/upper quartile min max
program_id 184 380 419; +209.02% ‼️ 59 665 580 60 583 745 (56 436 839; 63 990 969) 50 416 062 82 108 807

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 474 292 223; +573.21% ‼️ 70 452 274 72 021 301 (66 521 239; 76 360 100) 59 989 062 95 015 596
state-saving 552 858 600; +667.88% ‼️ 71 998 440 72 894 984 (67 722 047; 77 762 188) 57 641 396 95 314 460

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 63 642 304; -6.60% ✔️ 68 140 629 67 965 072 (64 879 269; 71 000 105) 49 461 286 90 242 977
Try to re-init existing program 355 359 661; +359.17% ‼️ 77 391 639 78 111 844 (73 787 250; 82 307 648) 53 252 725 101 025 841

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 47 871 077; -1.73% ✔️ 48 714 443 48 894 862 (44 246 025; 53 024 498) 38 224 137 66 006 705

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 438 592 913; +294.81% ‼️ 111 088 755 112 950 564 (107 476 305; 117 756 440) 93 171 632 149 415 248

name = Wait test

name current median average lower/upper quartile min max
wait 713 973 801; +872.91% ‼️ 73 385 436 74 676 817 (69 346 968; 77 095 353) 61 240 842 104 581 001

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 18 114 154; -78.69% ✔️ 84 997 887 85 667 476 (81 733 078; 88 522 970) 59 030 944 104 628 734

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 577 877 055; +635.53% ‼️ 78 565 655 79 170 342 (75 173 205; 82 468 798) 65 020 432 98 628 034

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 117 029 986; +6.37% ‼️ 4 810 709 337 4 807 187 860 (4 778 151 957; 4 834 288 577) 4 716 173 450 4 881 350 057

name = gui test

name current median average lower/upper quartile min max
gui 6 774 827 810; +4.77% ‼️ 6 466 465 321 6 462 775 622 (6 439 929 946; 6 490 810 301) 6 350 962 331 6 561 267 346
2bdeb95
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 57 512 000 000; +1397.32% ‼️ 3 841 000 000 4 266 129 999 (3 722 000 000; 4 021 000 000) 3 453 000 000 44 223 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 47 000 000; +291.67% ‼️ 12 000 000 11 740 000 (8 000 000; 14 000 000) 7 000 000 18 000 000
schedule::test::print_test_schedule 47 000 000; +261.54% ‼️ 13 000 000 12 810 000 (11 500 000; 15 000 000) 7 000 000 20 000 000
tests::block_gas_limit_works 49 000 000; +206.25% ‼️ 16 000 000 16 890 000 (16 000 000; 18 000 000) 11 000 000 24 000 000
tests::call_forbidden_function 46 000 000; +228.57% ‼️ 14 000 000 13 890 000 (12 500 000; 15 000 000) 8 000 000 19 000 000
tests::cascading_messages_with_value_do_not_overcharge 163 000 000; +191.07% ‼️ 56 000 000 57 550 000 (55 000 000; 59 000 000) 51 000 000 68 000 000
tests::claim_value_from_mailbox_works 48 000 000; +220.00% ‼️ 15 000 000 14 490 000 (13 000 000; 15 000 000) 11 000 000 22 000 000
tests::defer_program_initialization 49 000 000; +75.00% ‼️ 28 000 000 27 760 000 (26 000 000; 29 000 000) 20 000 000 40 000 000
tests::distributor_distribute 48 000 000; +128.57% ‼️ 21 000 000 21 680 000 (20 000 000; 23 000 000) 15 000 000 30 000 000
tests::distributor_initialize 47 000 000; +193.75% ‼️ 16 000 000 15 820 000 (14 000 000; 18 000 000) 11 000 000 20 000 000
tests::events_logging_works 47 000 000; +235.71% ‼️ 14 000 000 14 250 000 (13 000 000; 15 500 000) 10 000 000 20 000 000
tests::execution_over_blocks 415 000 000; +105.96% ‼️ 201 500 000 203 910 000 (199 000 000; 210 000 000) 194 000 000 227 000 000
tests::exit_handle 46 000 000; +253.85% ‼️ 13 000 000 13 220 000 (12 000 000; 14 000 000) 9 000 000 21 000 000
tests::exit_init 45 000 000; +125.00% ‼️ 20 000 000 19 640 000 (18 000 000; 21 000 000) 14 000 000 27 000 000
tests::gas_spent_precalculated 45 000 000; +246.15% ‼️ 13 000 000 13 200 000 (12 000 000; 14 000 000) 8 000 000 20 000 000
tests::gas_spent_vs_balance 213 000 000; +475.68% ‼️ 37 000 000 37 870 000 (35 500 000; 40 000 000) 30 000 000 45 000 000
tests::init_message_logging_works 44 000 000; +252.00% ‼️ 12 500 000 12 620 000 (11 000 000; 14 000 000) 8 000 000 20 000 000
tests::init_wait_reply_exit_cleaned_storage 44 000 000; +51.72% ‼️ 29 000 000 29 110 000 (27 000 000; 32 000 000) 21 000 000 36 000 000
tests::lazy_pages 44 000 000; +238.46% ‼️ 13 000 000 12 510 000 (11 000 000; 14 000 000) 8 000 000 18 000 000
tests::mailbox_rent_claimed 43 000 000; +138.89% ‼️ 18 000 000 18 780 000 (17 000 000; 20 000 000) 14 000 000 26 000 000
tests::mailbox_rent_out_of_rent 43 000 000; +86.96% ‼️ 23 000 000 22 560 000 (21 000 000; 24 000 000) 16 000 000 34 000 000
tests::mailbox_sending_instant_transfer 117 000 000; +550.00% ‼️ 18 000 000 18 300 000 (17 000 000; 20 000 000) 14 000 000 26 000 000
tests::mailbox_threshold_works 147 000 000; +444.44% ‼️ 27 000 000 26 820 000 (24 000 000; 30 000 000) 19 000 000 34 000 000
tests::mailbox_works 42 000 000; +223.08% ‼️ 13 000 000 13 060 000 (12 000 000; 14 500 000) 9 000 000 18 000 000
tests::memory_access_cases 42 000 000; +200.00% ‼️ 14 000 000 13 780 000 (12 000 000; 15 500 000) 8 000 000 20 000 000
tests::messages_processing_works 41 000 000; +215.38% ‼️ 13 000 000 13 550 000 (12 000 000; 15 000 000) 8 000 000 21 000 000
tests::messages_to_paused_program_skipped 145 000 000; +705.56% ‼️ 18 000 000 18 350 000 (17 000 000; 20 000 000) 13 000 000 29 000 000
tests::messages_to_uninitialized_program_wait 40 000 000; +122.22% ‼️ 18 000 000 18 050 000 (16 000 000; 20 000 000) 13 000 000 26 000 000
tests::no_redundant_gas_value_after_exiting 39 000 000; +200.00% ‼️ 13 000 000 13 300 000 (12 000 000; 15 000 000) 9 000 000 21 000 000
tests::paused_program_keeps_id 132 000 000; +560.00% ‼️ 20 000 000 20 700 000 (18 500 000; 23 000 000) 16 000 000 30 000 000
tests::program_lifecycle_works 27 000 000; +116.00% ‼️ 12 500 000 12 880 000 (11 000 000; 14 000 000) 10 000 000 22 000 000
tests::program_messages_to_paused_program_skipped 132 000 000; +371.43% ‼️ 28 000 000 28 120 000 (26 000 000; 29 500 000) 21 000 000 37 000 000
tests::replies_to_paused_program_skipped 132 000 000; +633.33% ‼️ 18 000 000 17 820 000 (16 000 000; 19 000 000) 12 000 000 29 000 000
tests::restrict_start_section 131 000 000; +1090.91% ‼️ 11 000 000 10 560 000 (9 000 000; 12 000 000) 6 000 000 17 000 000
tests::resume_program_works 126 000 000; +366.67% ‼️ 27 000 000 26 470 000 (25 000 000; 28 000 000) 21 000 000 32 000 000
tests::send_message_expected_failure 131 000 000; +991.67% ‼️ 12 000 000 12 080 000 (11 000 000; 13 000 000) 8 000 000 19 000 000
tests::send_message_works 131 000 000; +991.67% ‼️ 12 000 000 11 850 000 (10 000 000; 13 000 000) 7 000 000 19 000 000
tests::send_reply_failure_to_claim_from_mailbox 130 000 000; +983.33% ‼️ 12 000 000 11 910 000 (11 000 000; 13 500 000) 7 000 000 18 000 000
tests::send_reply_value_claiming_works 130 000 000; +983.33% ‼️ 12 000 000 12 280 000 (11 000 000; 14 000 000) 8 000 000 18 000 000
tests::send_reply_works 130 000 000; +983.33% ‼️ 12 000 000 12 270 000 (11 000 000; 14 000 000) 8 000 000 16 000 000
tests::spent_gas_to_reward_block_author_works 129 000 000; +975.00% ‼️ 12 000 000 11 190 000 (9 000 000; 13 000 000) 7 000 000 16 000 000
tests::submit_program_expected_failure 172 000 000; +1463.64% ‼️ 11 000 000 10 880 000 (9 000 000; 13 000 000) 5 000 000 21 000 000
tests::submit_program_fails_on_duplicate_id 121 000 000; +1000.00% ‼️ 11 000 000 10 870 000 (9 000 000; 13 000 000) 7 000 000 22 000 000
tests::test_async_messages 270 000 000; +107.69% ‼️ 130 000 000 130 960 000 (128 000 000; 133 000 000) 124 000 000 154 000 000
tests::test_code_is_not_reset_within_program_submission 122 000 000; +1120.00% ‼️ 10 000 000 10 040 000 (7 000 000; 12 000 000) 6 000 000 22 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 171 000 000; +1454.55% ‼️ 11 000 000 10 820 000 (8 000 000; 13 000 000) 6 000 000 20 000 000
tests::test_code_submission_pass 119 000 000; +1090.00% ‼️ 10 000 000 9 780 000 (7 000 000; 12 000 000) 5 000 000 22 000 000
tests::test_create_program_duplicate 108 000 000; +300.00% ‼️ 27 000 000 26 930 000 (26 000 000; 28 000 000) 22 000 000 30 000 000
tests::test_create_program_duplicate_in_one_execution 116 000 000; +480.00% ‼️ 20 000 000 20 360 000 (19 000 000; 21 000 000) 16 000 000 29 000 000
tests::test_create_program_miscellaneous 118 000 000; +337.04% ‼️ 27 000 000 27 640 000 (27 000 000; 28 000 000) 24 000 000 32 000 000
tests::test_create_program_no_code_hash 116 000 000; +157.78% ‼️ 45 000 000 46 580 000 (44 000 000; 47 500 000) 42 000 000 58 000 000
tests::test_create_program_simple 169 000 000; +503.57% ‼️ 28 000 000 28 500 000 (27 000 000; 29 500 000) 25 000 000 34 000 000
tests::test_create_program_with_exceeding_value 116 000 000; +673.33% ‼️ 15 000 000 15 180 000 (14 000 000; 16 000 000) 11 000 000 20 000 000
tests::test_create_program_with_value_lt_ed 119 000 000; +495.00% ‼️ 20 000 000 19 630 000 (18 000 000; 22 000 000) 15 000 000 25 000 000
tests::test_create_program_without_gas_works 118 000 000; +686.67% ‼️ 15 000 000 15 410 000 (14 000 000; 16 000 000) 12 000 000 24 000 000
tests::test_message_processing_for_non_existing_destination 118 000 000; +844.00% ‼️ 12 500 000 11 340 000 (8 000 000; 14 000 000) 6 000 000 17 000 000
tests::test_reply_to_terminated_program 166 000 000; +1006.67% ‼️ 15 000 000 15 140 000 (14 000 000; 16 000 000) 13 000 000 23 000 000
tests::test_same_code_submission_fails 117 000 000; +1200.00% ‼️ 9 000 000 10 360 000 (7 000 000; 14 000 000) 5 000 000 22 000 000
tests::test_two_contracts_composition_works 166 000 000; +388.24% ‼️ 34 000 000 35 250 000 (33 000 000; 36 000 000) 31 000 000 44 000 000
tests::uninitialized_program_should_accept_replies 112 000 000; +409.09% ‼️ 22 000 000 21 200 000 (21 000 000; 22 000 000) 16 000 000 24 000 000
tests::unstoppable_block_execution_works 117 000 000; +735.71% ‼️ 14 000 000 13 310 000 (11 000 000; 15 000 000) 8 000 000 23 000 000
tests::unused_gas_released_back_works 165 000 000; +1400.00% ‼️ 11 000 000 11 450 000 (9 000 000; 14 000 000) 7 000 000 22 000 000
tests::wake_messages_after_program_inited 116 000 000; +193.67% ‼️ 39 500 000 40 910 000 (38 000 000; 42 000 000) 36 000 000 51 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 113 000 000; +1312.50% ‼️ 8 000 000 8 660 000 (7 000 000; 10 000 000) 5 000 000 15 000 000
tests::check_changed_pages_in_storage 110 000 000; +746.15% ‼️ 13 000 000 12 270 000 (10 000 000; 14 000 000) 8 000 000 21 000 000
tests::check_not_allocated_pages 109 000 000; +738.46% ‼️ 13 000 000 12 660 000 (10 000 000; 15 000 000) 8 000 000 21 000 000
tests::debug_mode_works 100 000 000; +669.23% ‼️ 13 000 000 12 270 000 (9 000 000; 14 000 000) 7 000 000 20 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 303 000 000; +3464.71% ‼️ 8 500 000 8 280 000 (7 000 000; 9 000 000) 5 000 000 13 000 000
tests::all_keys_are_cleared 216 000 000; +2300.00% ‼️ 9 000 000 10 020 000 (9 000 000; 10 000 000) 6 000 000 19 000 000
tests::can_cut_nodes 260 000 000; +2788.89% ‼️ 9 000 000 9 620 000 (8 000 000; 10 000 000) 7 000 000 16 000 000
tests::catch_value_all_blocked 216 000 000; +1561.54% ‼️ 13 000 000 12 430 000 (10 000 000; 15 000 000) 8 000 000 18 000 000
tests::catch_value_all_catch 215 000 000; +2288.89% ‼️ 9 000 000 9 430 000 (8 000 000; 10 000 000) 6 000 000 16 000 000
tests::gas_free_after_consumed 215 000 000; +2288.89% ‼️ 9 000 000 8 930 000 (8 000 000; 9 000 000) 6 000 000 18 000 000
tests::limit_vs_origin 188 000 000; +1780.00% ‼️ 10 000 000 11 540 000 (9 000 000; 15 000 000) 7 000 000 18 000 000
tests::long_chain 168 000 000; +1766.67% ‼️ 9 000 000 10 900 000 (8 000 000; 14 000 000) 7 000 000 17 000 000
tests::simple_value_tree 192 000 000; +2300.00% ‼️ 8 000 000 9 340 000 (8 000 000; 9 000 000) 6 000 000 16 000 000
tests::split_with_no_value 263 000 000; +2994.12% ‼️ 8 500 000 10 320 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::splits_fail 263 000 000; +1923.08% ‼️ 13 000 000 11 710 000 (8 000 000; 14 000 000) 7 000 000 16 000 000
tests::sub_nodes_tree_with_spends 232 000 000; +2800.00% ‼️ 8 000 000 10 140 000 (7 500 000; 14 000 000) 7 000 000 16 000 000
tests::subtree_gas_limit_remains_intact 232 000 000; +1684.62% ‼️ 13 000 000 11 730 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::test_consume_procedure_with_subnodes 273 000 000; +2000.00% ‼️ 13 000 000 11 180 000 (8 000 000; 14 000 000) 6 000 000 15 000 000
tests::test_imbalances_drop 255 000 000; +3542.86% ‼️ 7 000 000 7 810 000 (6 000 000; 8 000 000) 5 000 000 14 000 000
tests::value_tree_known_errors 255 000 000; +2025.00% ‼️ 12 000 000 10 280 000 (7 000 000; 13 000 000) 6 000 000 14 000 000
tests::value_tree_with_all_kinds_of_nodes 254 000 000; +3075.00% ‼️ 8 000 000 9 210 000 (7 000 000; 12 000 000) 6 000 000 14 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 239 000 000; +3314.29% ‼️ 7 000 000 6 780 000 (6 000 000; 7 000 000) 4 000 000 12 000 000
tests::dequeued_impl_works_manually 210 000 000; +2900.00% ‼️ 7 000 000 7 330 000 (6 000 000; 8 000 000) 4 000 000 12 000 000
tests::queue_processing_impl_works_manually 223 000 000; +3085.71% ‼️ 7 000 000 7 190 000 (6 000 000; 8 000 000) 5 000 000 12 000 000
tests::queue_works 223 000 000; +3085.71% ‼️ 7 000 000 7 400 000 (6 000 000; 8 000 000) 5 000 000 12 000 000
tests::sent_impl_works 210 000 000; +2900.00% ‼️ 7 000 000 7 290 000 (6 000 000; 8 000 000) 5 000 000 11 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 222 000 000; +3071.43% ‼️ 7 000 000 7 010 000 (6 000 000; 8 000 000) 4 000 000 11 000 000
tests::custom_fee_multiplier_updated_per_block 246 000 000; +2975.00% ‼️ 8 000 000 7 540 000 (6 500 000; 8 000 000) 5 000 000 10 000 000
tests::fee_rounding_error_bounded_by_multiplier 246 000 000; +2975.00% ‼️ 8 000 000 7 660 000 (7 000 000; 8 000 000) 6 000 000 10 000 000
tests::mq_size_affecting_fee_works 250 000 000; +3025.00% ‼️ 8 000 000 7 440 000 (7 000 000; 8 000 000) 5 000 000 10 000 000
tests::mq_size_not_affecting_fee_works 251 000 000; +3485.71% ‼️ 7 000 000 7 260 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::query_info_and_fee_details_work 250 000 000; +3471.43% ‼️ 7 000 000 7 020 000 (7 000 000; 7 000 000) 5 000 000 8 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 103 000 000; +1371.43% ‼️ 7 000 000 6 600 000 (6 000 000; 7 000 000) 5 000 000 8 000 000
tests::pause_program_twice_fails 103 000 000; +1616.67% ‼️ 6 000 000 6 190 000 (6 000 000; 7 000 000) 5 000 000 7 000 000
tests::pause_program_works 102 000 000; +1033.33% ‼️ 9 000 000 9 460 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::pause_terminated_program_fails 101 000 000; +1736.36% ‼️ 5 500 000 5 520 000 (5 000 000; 6 000 000) 5 000 000 7 000 000
tests::pause_uninitialized_program_works 76 000 000; +700.00% ‼️ 9 500 000 9 650 000 (9 000 000; 10 000 000) 8 000 000 12 000 000
tests::resume_program_twice_fails 101 000 000; +621.43% ‼️ 14 000 000 14 110 000 (13 000 000; 14 000 000) 12 000 000 18 000 000
tests::resume_program_wrong_list_fails 58 000 000; +383.33% ‼️ 12 000 000 11 730 000 (11 000 000; 12 000 000) 10 000 000 15 000 000
tests::resume_program_wrong_memory_fails 58 000 000; +383.33% ‼️ 12 000 000 11 960 000 (11 000 000; 12 000 000) 10 000 000 16 000 000
tests::resume_uninitialized_program_works 57 000 000; +375.00% ‼️ 12 000 000 12 320 000 (12 000 000; 13 000 000) 11 000 000 15 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 57 000 000; +1325.00% ‼️ 4 000 000 4 440 000 (4 000 000; 5 000 000) 3 000 000 6 000 000
tests::gear_handles_outdated_tasks 57 000 000; +850.00% ‼️ 6 000 000 6 010 000 (6 000 000; 6 000 000) 5 000 000 8 000 000
tests::gear_handles_tasks 56 000 000; +833.33% ‼️ 6 000 000 5 680 000 (5 000 000; 6 000 000) 5 000 000 7 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 145 840 303 647; +72.54% ‼️ 84 526 456 453 84 540 450 988 (84 392 950 123; 84 673 813 635) 84 063 394 044 85 332 602 574

name = Async RwLock

name current median average lower/upper quartile min max
check readers 41 199 185; -52.05% ✔️ 85 920 792 87 004 927 (82 770 830; 91 345 048) 76 604 737 107 889 273
forever lock 857 337 932; +858.11% ‼️ 89 482 391 91 063 489 (85 746 974; 94 607 303) 81 524 630 110 034 562
read while writing 1 384 807 537; +1216.71% ‼️ 105 171 683 107 108 140 (100 983 368; 112 747 279) 94 286 590 129 179 886
rwlock wide 2 592 580 735; +1940.20% ‼️ 127 074 560 127 712 570 (119 200 771; 134 264 284) 108 930 492 162 980 650
write while reading 1 913 467 543; +1665.53% ‼️ 108 379 044 109 728 897 (103 787 763; 114 487 943) 95 167 682 134 614 801

name = Async init

name current median average lower/upper quartile min max
approved pong 11 315 338 574; +7.92% ‼️ 10 485 280 452 10 487 703 253 (10 450 201 892; 10 522 653 308) 10 375 982 917 10 643 840 873

name = Async-await

name current median average lower/upper quartile min max
async-await 2 389 004 132; +1687.66% ‼️ 133 638 983 136 447 355 (126 132 002; 140 734 751) 118 165 548 187 001 954
mutex 2 415 392 299; +1745.75% ‼️ 130 862 238 132 638 236 (124 449 709; 138 292 521) 112 231 350 180 864 686
rwlock-write 2 494 458 890; +1783.93% ‼️ 132 407 164 133 162 340 (124 630 289; 139 773 792) 116 113 176 165 210 084

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 992 463 987; +974.02% ‼️ 92 406 784 94 621 385 (88 920 942; 99 020 833) 82 998 534 117 465 061

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 10 609 829 248; +112.22% ‼️ 4 999 355 536 4 997 072 797 (4 974 234 068; 5 023 263 455) 4 856 736 562 5 102 432 689
2 of 3; bob & eve 8 230 204 648; +64.86% ‼️ 4 992 323 632 4 993 860 346 (4 970 388 070; 5 014 126 904) 4 913 656 282 5 083 566 020
2 of 3; eve & alice 5 940 668 921; +19.01% ‼️ 4 991 681 510 4 993 810 511 (4 979 645 178; 5 015 748 066) 4 897 666 931 5 056 777 103
2 of 3; eve doesn't answer, alice replies with incorrect payload 6 186 973 367; +24.83% ‼️ 4 956 344 350 4 954 644 013 (4 928 389 056; 4 983 759 343) 4 848 622 812 5 052 147 121
2 of 3; no replies 6 225 571 337; +27.65% ‼️ 4 876 919 753 4 873 432 587 (4 853 770 148; 4 901 912 294) 4 760 451 185 4 972 195 907
Single signatory & zero threshold 5 634 624 195; +14.05% ‼️ 4 940 401 488 4 942 767 497 (4 916 051 476; 4 966 421 235) 4 854 806 752 5 031 959 470
Three signatories; Bob replies with incorrect signature 10 514 981 264; +112.29% ‼️ 4 953 148 475 4 952 006 430 (4 927 564 046; 4 978 708 169) 4 843 555 569 5 094 018 698
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 6 316 700 308; +27.62% ‼️ 4 949 487 968 4 955 178 618 (4 928 787 769; 4 982 084 026) 4 863 796 362 5 068 937 818

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 285 919 164; +33.53% ‼️ 2 460 883 060 2 462 530 242 (2 444 139 081; 2 482 555 675) 2 373 066 592 2 527 722 824
correct signature but for another message 3 376 320 790; +34.51% ‼️ 2 510 098 304 2 516 032 000 (2 492 668 165; 2 542 133 740) 2 455 733 107 2 585 725 034
no reply 3 833 140 905; +56.36% ‼️ 2 451 434 762 2 453 777 184 (2 434 723 761; 2 472 283 856) 2 382 334 495 2 515 966 632
signed message 3 989 346 673; +58.81% ‼️ 2 512 010 369 2 511 740 281 (2 492 101 962; 2 528 888 238) 2 437 728 748 2 593 106 469

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 4 152 541 317; +1407.29% ‼️ 275 497 174 278 701 438 (269 018 386; 285 988 634) 258 462 650 314 446 631

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 641 591 166; +742.44% ‼️ 76 158 445 77 164 617 (71 452 841; 81 200 182) 63 408 004 103 700 315

name = Chat

name current median average lower/upper quartile min max
chat 1 643 061 285; +1476.51% ‼️ 104 221 465 105 695 301 (99 982 559; 110 482 628) 90 363 261 136 711 386

name = Decoder

name current median average lower/upper quartile min max
decoder 256 046 551; +266.56% ‼️ 69 851 409 70 261 011 (66 912 982; 73 488 863) 49 085 684 88 097 844

name = Exit code

name current median average lower/upper quartile min max
normal 285 311 405; +305.43% ‼️ 70 372 427 71 015 650 (66 298 247; 74 007 014) 56 069 312 94 980 614
panic 97 545 752; +37.12% ‼️ 71 140 776 71 887 519 (67 802 109; 75 022 849) 59 663 299 87 791 735

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 977 469 497; +1865.81% ‼️ 151 462 377 152 310 382 (142 424 733; 159 335 986) 132 494 884 192 336 998
join 2 980 834 801; +1872.39% ‼️ 151 127 852 152 076 481 (141 354 737; 159 982 459) 131 813 057 187 630 393
select 2 893 964 423; +1889.66% ‼️ 145 450 216 147 844 757 (138 248 638; 154 057 205) 128 488 004 202 595 531

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 749 345 282; +1980.60% ‼️ 132 141 917 133 097 075 (123 442 313; 138 099 667) 104 730 248 187 782 599

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 17 103 276; -76.10% ✔️ 71 569 503 73 027 304 (67 814 698; 78 283 686) 58 252 423 97 165 394

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 618 428 845; +660.57% ‼️ 81 310 750 82 168 138 (76 854 693; 85 521 459) 71 651 984 101 164 098

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 386 159 936; +6.60% ‼️ 9 742 733 679 9 731 711 737 (9 705 805 344; 9 762 693 395) 9 565 277 232 9 834 890 262

name = Multiping

name current median average lower/upper quartile min max
multiping 287 915 757; +327.59% ‼️ 67 334 219 67 501 971 (61 923 361; 72 158 023) 52 513 580 84 672 678

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 252 997 309; +296.12% ‼️ 63 868 380 64 918 940 (59 574 167; 67 581 503) 49 254 103 87 518 744
ping-pong wgas 517 058 820; +623.09% ‼️ 71 507 107 71 932 132 (67 592 777; 76 323 380) 60 772 199 87 256 298

name = Program generator

name current median average lower/upper quartile min max
program_generator 66 023 611; +28.10% ❗ 51 538 727 52 192 925 (46 685 523; 56 361 947) 33 573 748 70 621 296

name = Program_id test

name current median average lower/upper quartile min max
program_id 9 362 957; -84.31% ✔️ 59 665 580 60 583 745 (56 436 839; 63 990 969) 50 416 062 82 108 807

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 17 029 618; -75.83% ✔️ 70 452 274 72 021 301 (66 521 239; 76 360 100) 59 989 062 95 015 596
state-saving 484 552 702; +573.00% ‼️ 71 998 440 72 894 984 (67 722 047; 77 762 188) 57 641 396 95 314 460

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 253 496 208; +272.02% ‼️ 68 140 629 67 965 072 (64 879 269; 71 000 105) 49 461 286 90 242 977
Try to re-init existing program 334 262 141; +331.91% ‼️ 77 391 639 78 111 844 (73 787 250; 82 307 648) 53 252 725 101 025 841

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 122 632 523; +151.74% ‼️ 48 714 443 48 894 862 (44 246 025; 53 024 498) 38 224 137 66 006 705

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 100 983 109; -9.10% ✔️ 111 088 755 112 950 564 (107 476 305; 117 756 440) 93 171 632 149 415 248

name = Wait test

name current median average lower/upper quartile min max
wait 300 790 861; +309.88% ‼️ 73 385 436 74 676 817 (69 346 968; 77 095 353) 61 240 842 104 581 001

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 76 992 542; -9.42% ✔️ 84 997 887 85 667 476 (81 733 078; 88 522 970) 59 030 944 104 628 734

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 507 880 664; +546.44% ‼️ 78 565 655 79 170 342 (75 173 205; 82 468 798) 65 020 432 98 628 034

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 035 308 106; +4.67% ‼️ 4 810 709 337 4 807 187 860 (4 778 151 957; 4 834 288 577) 4 716 173 450 4 881 350 057

name = gui test

name current median average lower/upper quartile min max
gui 7 233 281 546; +11.86% ‼️ 6 466 465 321 6 462 775 622 (6 439 929 946; 6 490 810 301) 6 350 962 331 6 561 267 346

@codecov
Copy link

codecov bot commented Jul 20, 2022

Codecov Report

Merging #1211 (bacebfb) into master (9d8b28b) will decrease coverage by 4.30%.
The diff coverage is 77.59%.

@@            Coverage Diff             @@
##           master    #1211      +/-   ##
==========================================
- Coverage   71.67%   67.36%   -4.31%     
==========================================
  Files         108      108              
  Lines       10057    10847     +790     
==========================================
+ Hits         7208     7307      +99     
- Misses       2849     3540     +691     
Impacted Files Coverage Δ
core-processor/src/configs.rs 96.00% <ø> (+2.25%) ⬆️
pallets/gear/src/tests.rs 90.00% <ø> (-3.82%) ⬇️
pallets/gear/src/lib.rs 59.61% <59.52%> (-0.65%) ⬇️
core-processor/src/processor.rs 89.70% <78.57%> (-10.30%) ⬇️
core-processor/src/executor.rs 85.04% <84.00%> (-3.00%) ⬇️
core-processor/src/common.rs 66.66% <100.00%> (+66.66%) ⬆️
gtest/src/manager.rs 72.61% <100.00%> (-4.79%) ⬇️
pallets/gear/src/manager/mod.rs 95.08% <100.00%> (-1.35%) ⬇️
core/src/env.rs 3.24% <0.00%> (-96.76%) ⬇️
pallets/gas/src/tests.rs 12.50% <0.00%> (-87.50%) ⬇️
... and 30 more

Help us with your feedback. Take ten seconds to tell us how you rate us.

gshep added 4 commits July 21, 2022 16:18
into gshep/issue-1088-2

Conflicts:
	gtest/src/manager.rs
	pallets/gear/src/lib.rs
Copy link
Member

@breathx breathx left a comment

Choose a reason for hiding this comment

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

LGTM at all, but seems there is still place for refactoring and simplifications of aggregating data for future 👍

core-processor/src/common.rs Outdated Show resolved Hide resolved
core-processor/src/common.rs Outdated Show resolved Hide resolved
core-processor/src/processor.rs Outdated Show resolved Hide resolved
core-processor/src/processor.rs Outdated Show resolved Hide resolved
core-processor/src/processor.rs Outdated Show resolved Hide resolved
core-processor/src/processor.rs Show resolved Hide resolved
core-processor/src/processor.rs Show resolved Hide resolved
pallets/gear/src/tests.rs Show resolved Hide resolved
@breathx breathx requested a review from grishasobol July 24, 2022 02:57
@breathx
Copy link
Member

breathx commented Jul 24, 2022

Please, consensus on your changes with @ukint-vs in #1190

into gshep/issue-1088-2

Conflicts:
	runtime/src/lib.rs
@breathx
Copy link
Member

breathx commented Jul 26, 2022

@gshep, please, never resolve comments, before here any changes pushed

gshep added 6 commits July 27, 2022 10:55
into gshep/issue-1088-2

Conflicts:
	pallets/gear/src/benchmarking/mod.rs
into gshep/issue-1088-2

Conflicts:
	runtime/src/lib.rs
gshep added 4 commits July 29, 2022 00:16
into gshep/issue-1088-2

Conflicts:
	core-processor/src/processor.rs
	runtime/src/lib.rs
into gshep/issue-1088-2

Conflicts:
	core-processor/src/executor.rs
	gtest/src/manager.rs
	pallets/gear/src/benchmarking/mod.rs
	pallets/gear/src/lib.rs
core-processor/src/processor.rs Show resolved Hide resolved
gshep added 2 commits August 2, 2022 11:00
into gshep/issue-1088-2

Conflicts:
	gear-test/src/check.rs
	runtime/src/lib.rs
core-processor/src/executor.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 Aug 2, 2022
@gshep gshep merged commit ba59a0f into master Aug 2, 2022
@gshep gshep deleted the gshep/issue-1088-2 branch August 2, 2022 10:11
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 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.

Charge for page load optionally
3 participants