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

Replace reply data tuple with struct #1198

Merged
merged 4 commits into from
Jul 19, 2022
Merged

Replace reply data tuple with struct #1198

merged 4 commits into from
Jul 19, 2022

Conversation

breathx
Copy link
Member

@breathx breathx commented Jul 18, 2022

Messages reply now contains special named struct instead of just tuple (MessageId, ExitCode). This increases readability of events in scanners like polkadot js apps

@gear-tech/dev

@breathx breathx added A0-pleasereview PR is ready to be reviewed by the team D1-core Gear Core C2-refactoring Refactoring proposal labels Jul 18, 2022
@breathx breathx requested review from shamilsan and osipov-mit July 18, 2022 15:14
@github-actions
Copy link
Contributor

github-actions bot commented Jul 18, 2022

cb9979a
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 40 797 000 000; +886.98% ❗ 4 133 500 000 4 714 329 999 (4 000 500 000; 4 269 500 000) 3 668 000 000 62 046 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 49 000 000; +226.67% ❗ 15 000 000 20 470 000 (7 000 000; 29 500 000) 5 000 000 83 000 000
schedule::test::print_test_schedule 122 000 000; +662.50% ‼️ 16 000 000 25 710 000 (9 000 000; 36 500 000) 4 000 000 110 000 000
tests::block_gas_limit_works 120 000 000; +380.00% ‼️ 25 000 000 30 050 000 (16 000 000; 38 500 000) 12 000 000 106 000 000
tests::call_forbidden_function 81 000 000; +237.50% ‼️ 24 000 000 28 210 000 (14 000 000; 38 500 000) 7 000 000 71 000 000
tests::cascading_messages_with_value_do_not_overcharge 112 000 000; +28.00% ❗ 87 500 000 91 610 000 (74 000 000; 106 000 000) 64 000 000 150 000 000
tests::claim_value_from_mailbox_works 98 000 000; +292.00% ‼️ 25 000 000 29 120 000 (14 000 000; 38 500 000) 8 000 000 84 000 000
tests::defer_program_initialization 118 000 000; +210.53% ‼️ 38 000 000 42 250 000 (29 000 000; 52 000 000) 22 000 000 85 000 000
tests::distributor_distribute 79 000 000; +172.41% ❗ 29 000 000 36 260 000 (23 000 000; 46 000 000) 15 000 000 128 000 000
tests::distributor_initialize 108 000 000; +272.41% ❗ 29 000 000 35 440 000 (17 000 000; 51 000 000) 10 000 000 110 000 000
tests::events_logging_works 118 000 000; +329.09% ‼️ 27 500 000 32 330 000 (14 500 000; 45 500 000) 8 000 000 103 000 000
tests::execution_over_blocks 921 000 000; +203.96% ‼️ 303 000 000 302 010 000 (286 000 000; 319 000 000) 255 000 000 379 000 000
tests::exit_handle 116 000 000; +427.27% ‼️ 22 000 000 32 040 000 (14 000 000; 46 500 000) 7 000 000 106 000 000
tests::exit_init 95 000 000; +175.36% ❗ 34 500 000 40 500 000 (22 500 000; 54 000 000) 12 000 000 105 000 000
tests::gas_spent_precalculated 142 000 000; +435.85% ‼️ 26 500 000 36 160 000 (14 500 000; 55 500 000) 7 000 000 108 000 000
tests::gas_spent_vs_balance 295 000 000; +408.62% ‼️ 58 000 000 64 200 000 (47 000 000; 79 500 000) 32 000 000 118 000 000
tests::init_message_logging_works 115 000 000; +296.55% ‼️ 29 000 000 37 710 000 (17 500 000; 58 000 000) 8 000 000 104 000 000
tests::init_wait_reply_exit_cleaned_storage 102 000 000; +121.74% ❗ 46 000 000 53 260 000 (36 000 000; 67 000 000) 22 000 000 112 000 000
tests::lazy_pages 76 000 000; +133.85% ❗ 32 500 000 39 640 000 (21 000 000; 54 500 000) 7 000 000 97 000 000
tests::mailbox_threshold_works 168 000 000; +265.22% ‼️ 46 000 000 50 270 000 (35 000 000; 59 500 000) 23 000 000 107 000 000
tests::mailbox_works 88 000 000; +141.10% ❗ 36 500 000 42 350 000 (19 500 000; 60 500 000) 8 000 000 108 000 000
tests::memory_access_cases 86 000 000; +120.51% ❗ 39 000 000 42 580 000 (24 000 000; 61 000 000) 7 000 000 109 000 000
tests::messages_processing_works 35 000 000; -15.66% ✔️ 41 500 000 44 690 000 (30 000 000; 60 500 000) 9 000 000 105 000 000
tests::messages_to_paused_program_skipped 58 000 000; +30.34% ❗ 44 500 000 47 370 000 (31 500 000; 58 000 000) 14 000 000 107 000 000
tests::messages_to_uninitialized_program_wait 127 000 000; +170.21% ‼️ 47 000 000 49 740 000 (33 000 000; 64 000 000) 14 000 000 109 000 000
tests::no_redundant_gas_value_after_exiting 60 000 000; +57.89% ❗ 38 000 000 43 040 000 (29 000 000; 58 000 000) 8 000 000 100 000 000
tests::paused_program_keeps_id 134 000 000; +197.78% ‼️ 45 000 000 49 080 000 (34 500 000; 62 500 000) 16 000 000 111 000 000
tests::program_lifecycle_works 138 000 000; +263.16% ‼️ 38 000 000 40 780 000 (24 500 000; 56 000 000) 7 000 000 91 000 000
tests::program_messages_to_paused_program_skipped 138 000 000; +137.93% ‼️ 58 000 000 59 440 000 (42 000 000; 75 000 000) 27 000 000 122 000 000
tests::replies_to_paused_program_skipped 95 000 000; +120.93% ❗ 43 000 000 48 080 000 (31 500 000; 61 000 000) 17 000 000 147 000 000
tests::restrict_start_section 94 000 000; +137.97% ‼️ 39 500 000 40 580 000 (25 000 000; 55 000 000) 5 000 000 86 000 000
tests::resume_program_works 96 000 000; +92.00% ❗ 50 000 000 52 840 000 (38 000 000; 61 000 000) 27 000 000 107 000 000
tests::send_message_expected_failure 118 000 000; +187.80% ‼️ 41 000 000 43 770 000 (30 000 000; 54 000 000) 6 000 000 98 000 000
tests::send_message_works 77 000 000; +92.50% ❗ 40 000 000 43 610 000 (28 500 000; 59 500 000) 9 000 000 105 000 000
tests::send_reply_failure_to_claim_from_mailbox 53 000 000; +35.90% ✔️ 39 000 000 43 200 000 (29 500 000; 59 500 000) 11 000 000 116 000 000
tests::send_reply_value_claiming_works 34 000 000; -23.60% ✔️ 44 500 000 45 350 000 (30 000 000; 59 000 000) 10 000 000 115 000 000
tests::send_reply_works 56 000 000; +33.33% ✔️ 42 000 000 43 250 000 (29 000 000; 56 500 000) 9 000 000 90 000 000
tests::spent_gas_to_reward_block_author_works 61 000 000; +54.43% ❗ 39 500 000 41 890 000 (29 000 000; 54 500 000) 11 000 000 104 000 000
tests::submit_program_expected_failure 103 000 000; +134.09% ‼️ 44 000 000 44 600 000 (27 000 000; 61 000 000) 7 000 000 84 000 000
tests::submit_program_fails_on_duplicate_id 37 000 000; -2.63% ✔️ 38 000 000 40 580 000 (25 500 000; 54 500 000) 8 000 000 109 000 000
tests::test_async_messages 521 000 000; +138.99% ‼️ 218 000 000 218 780 000 (202 000 000; 234 000 000) 178 000 000 283 000 000
tests::test_code_is_not_reset_within_program_submission 89 000 000; +119.75% ❗ 40 500 000 41 590 000 (26 000 000; 54 500 000) 8 000 000 107 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 43 000 000; +11.69% ✔️ 38 500 000 39 220 000 (25 000 000; 49 500 000) 10 000 000 89 000 000
tests::test_code_submission_pass 31 000 000; -25.30% ✔️ 41 500 000 44 350 000 (30 500 000; 55 000 000) 7 000 000 113 000 000
tests::test_create_program_duplicate 105 000 000; +81.03% ❗ 58 000 000 59 130 000 (41 500 000; 72 500 000) 25 000 000 109 000 000
tests::test_create_program_duplicate_in_one_execution 93 000 000; +86.00% ❗ 50 000 000 50 930 000 (38 000 000; 61 500 000) 21 000 000 97 000 000
tests::test_create_program_miscellaneous 85 000 000; +44.07% ❗ 59 000 000 61 220 000 (46 000 000; 75 000 000) 33 000 000 118 000 000
tests::test_create_program_no_code_hash 178 000 000; +103.43% ‼️ 87 500 000 89 100 000 (77 000 000; 103 000 000) 55 000 000 130 000 000
tests::test_create_program_simple 176 000 000; +183.87% ‼️ 62 000 000 63 450 000 (52 000 000; 75 500 000) 36 000 000 110 000 000
tests::test_create_program_with_exceeding_value 71 000 000; +65.12% ❗ 43 000 000 44 140 000 (34 000 000; 54 000 000) 16 000 000 84 000 000
tests::test_create_program_with_value_lt_ed 162 000 000; +234.02% ‼️ 48 500 000 50 100 000 (36 000 000; 62 500 000) 19 000 000 108 000 000
tests::test_create_program_without_gas_works 55 000 000; +27.91% ✔️ 43 000 000 45 060 000 (32 000 000; 56 000 000) 16 000 000 103 000 000
tests::test_message_processing_for_non_existing_destination 91 000 000; +130.38% ❗ 39 500 000 40 280 000 (26 000 000; 48 000 000) 9 000 000 92 000 000
tests::test_reply_to_terminated_program 26 000 000; -40.91% ✔️ 44 000 000 43 970 000 (28 000 000; 57 000 000) 14 000 000 88 000 000
tests::test_same_code_submission_fails 31 000 000; -20.51% ✔️ 39 000 000 39 360 000 (26 000 000; 51 000 000) 10 000 000 90 000 000
tests::test_two_contracts_composition_works 154 000 000; +109.52% ‼️ 73 500 000 73 760 000 (62 000 000; 85 500 000) 43 000 000 125 000 000
tests::uninitialized_program_should_accept_replies 263 000 000; +436.73% ‼️ 49 000 000 49 970 000 (36 500 000; 61 500 000) 18 000 000 101 000 000
tests::unstoppable_block_execution_works 54 000 000; +31.71% ❗ 41 000 000 43 760 000 (29 500 000; 51 500 000) 11 000 000 95 000 000
tests::unused_gas_released_back_works 19 000 000; -45.71% ✔️ 35 000 000 39 500 000 (24 000 000; 52 000 000) 9 000 000 94 000 000
tests::wake_messages_after_program_inited 246 000 000; +225.83% ‼️ 75 500 000 78 440 000 (64 500 000; 90 000 000) 47 000 000 130 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; +232.35% ‼️ 34 000 000 34 970 000 (21 500 000; 47 000 000) 5 000 000 88 000 000
tests::check_changed_pages_in_storage 113 000 000; +201.33% ❗ 37 500 000 41 980 000 (29 500 000; 52 000 000) 13 000 000 116 000 000
tests::check_not_allocated_pages 116 000 000; +222.22% ‼️ 36 000 000 39 910 000 (28 000 000; 53 000 000) 10 000 000 107 000 000
tests::debug_mode_works 15 000 000; -60.53% ✔️ 38 000 000 40 130 000 (25 500 000; 48 500 000) 10 000 000 90 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 129 000 000; +330.00% ‼️ 30 000 000 33 800 000 (19 000 000; 46 000 000) 4 000 000 87 000 000
tests::all_keys_are_cleared 120 000 000; +233.33% ‼️ 36 000 000 36 260 000 (24 000 000; 46 000 000) 6 000 000 87 000 000
tests::can_cut_nodes 123 000 000; +267.16% ‼️ 33 500 000 34 520 000 (21 000 000; 44 000 000) 5 000 000 82 000 000
tests::catch_value_all_blocked 121 000 000; +240.85% ‼️ 35 500 000 37 680 000 (24 000 000; 49 500 000) 7 000 000 91 000 000
tests::catch_value_all_catch 117 000 000; +249.25% ‼️ 33 500 000 36 360 000 (20 500 000; 48 500 000) 6 000 000 87 000 000
tests::gas_free_after_consumed 121 000 000; +261.19% ‼️ 33 500 000 36 390 000 (22 500 000; 47 500 000) 7 000 000 86 000 000
tests::limit_vs_origin 116 000 000; +251.52% ‼️ 33 000 000 35 240 000 (21 000 000; 44 500 000) 7 000 000 88 000 000
tests::long_chain 108 000 000; +248.39% ‼️ 31 000 000 32 800 000 (19 000 000; 43 500 000) 5 000 000 70 000 000
tests::simple_value_tree 94 000 000; +184.85% ‼️ 33 000 000 35 350 000 (22 500 000; 48 000 000) 7 000 000 81 000 000
tests::split_with_no_value 108 000 000; +260.00% ‼️ 30 000 000 32 540 000 (17 000 000; 43 500 000) 5 000 000 76 000 000
tests::splits_fail 107 000 000; +268.97% ‼️ 29 000 000 31 630 000 (19 000 000; 40 500 000) 6 000 000 76 000 000
tests::sub_nodes_tree_with_spends 157 000 000; +441.38% ‼️ 29 000 000 31 910 000 (19 000 000; 45 000 000) 6 000 000 85 000 000
tests::subtree_gas_limit_remains_intact 102 000 000; +213.85% ‼️ 32 500 000 33 110 000 (18 000 000; 44 500 000) 7 000 000 84 000 000
tests::test_consume_procedure_with_subnodes 87 000 000; +163.64% ‼️ 33 000 000 33 440 000 (18 500 000; 46 000 000) 6 000 000 84 000 000
tests::test_imbalances_drop 86 000 000; +186.67% ‼️ 30 000 000 32 130 000 (16 000 000; 46 000 000) 5 000 000 81 000 000
tests::value_tree_known_errors 15 000 000; -53.12% ✔️ 32 000 000 33 450 000 (22 000 000; 43 500 000) 5 000 000 82 000 000
tests::value_tree_with_all_kinds_of_nodes 90 000 000; +172.73% ‼️ 33 000 000 33 800 000 (19 000 000; 45 500 000) 7 000 000 83 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 112 000 000; +420.93% ‼️ 21 500 000 25 800 000 (12 000 000; 37 500 000) 3 000 000 78 000 000
tests::dequeued_impl_works_manually 57 000 000; +96.55% ❗ 29 000 000 30 150 000 (17 000 000; 41 000 000) 6 000 000 77 000 000
tests::queue_processing_impl_works_manually 167 000 000; +456.67% ‼️ 30 000 000 31 340 000 (22 000 000; 43 500 000) 6 000 000 71 000 000
tests::queue_works 64 000 000; +103.17% ❗ 31 500 000 31 610 000 (20 500 000; 42 000 000) 5 000 000 65 000 000
tests::sent_impl_works 146 000 000; +440.74% ‼️ 27 000 000 29 730 000 (16 000 000; 42 000 000) 5 000 000 81 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 124 000 000; +416.67% ‼️ 24 000 000 25 890 000 (11 000 000; 37 000 000) 4 000 000 82 000 000
tests::custom_fee_multiplier_updated_per_block 101 000 000; +260.71% ‼️ 28 000 000 29 830 000 (20 500 000; 37 500 000) 6 000 000 81 000 000
tests::fee_rounding_error_bounded_by_multiplier 140 000 000; +351.61% ‼️ 31 000 000 30 930 000 (20 000 000; 38 500 000) 7 000 000 71 000 000
tests::mq_size_affecting_fee_works 121 000 000; +310.17% ‼️ 29 500 000 30 060 000 (19 000 000; 39 500 000) 5 000 000 74 000 000
tests::mq_size_not_affecting_fee_works 121 000 000; +348.15% ‼️ 27 000 000 28 670 000 (20 500 000; 36 000 000) 4 000 000 74 000 000
tests::query_info_and_fee_details_work 67 000 000; +197.78% ❗ 22 500 000 25 740 000 (16 000 000; 36 500 000) 6 000 000 68 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 62 000 000; +163.83% ❗ 23 500 000 24 070 000 (12 500 000; 34 000 000) 4 000 000 63 000 000
tests::pause_program_twice_fails 63 000 000; +142.31% ‼️ 26 000 000 28 400 000 (19 500 000; 38 000 000) 5 000 000 62 000 000
tests::pause_program_works 75 000 000; +188.46% ‼️ 26 000 000 28 970 000 (20 000 000; 38 000 000) 13 000 000 60 000 000
tests::pause_terminated_program_fails 113 000 000; +370.83% ‼️ 24 000 000 26 230 000 (19 000 000; 34 500 000) 4 000 000 64 000 000
tests::pause_uninitialized_program_works 122 000 000; +328.07% ‼️ 28 500 000 30 990 000 (21 000 000; 40 500 000) 12 000 000 66 000 000
tests::resume_program_twice_fails 112 000 000; +229.41% ‼️ 34 000 000 35 540 000 (25 000 000; 42 000 000) 18 000 000 66 000 000
tests::resume_program_wrong_list_fails 138 000 000; +324.62% ‼️ 32 500 000 32 880 000 (25 500 000; 39 000 000) 17 000 000 62 000 000
tests::resume_program_wrong_memory_fails 99 000 000; +204.62% ‼️ 32 500 000 34 120 000 (25 000 000; 40 500 000) 15 000 000 71 000 000
tests::resume_uninitialized_program_works 54 000 000; +80.00% ❗ 30 000 000 32 170 000 (21 000 000; 41 000 000) 14 000 000 59 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 75 000 000; +284.62% ‼️ 19 500 000 20 530 000 (11 000 000; 28 000 000) 4 000 000 57 000 000
tests::gear_handles_outdated_tasks 55 000 000; +120.00% ❗ 25 000 000 24 890 000 (16 000 000; 31 500 000) 8 000 000 56 000 000
tests::gear_handles_tasks 109 000 000; +373.91% ‼️ 23 000 000 24 630 000 (17 000 000; 30 500 000) 7 000 000 63 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 138 825 708 417; +100.83% ‼️ 69 126 104 872 69 154 958 622 (69 033 716 760; 69 282 305 340) 68 719 583 944 69 719 292 809

name = Async RwLock

name current median average lower/upper quartile min max
check readers 742 611 605; +779.34% ‼️ 84 451 436 86 126 328 (80 764 254; 91 886 329) 75 416 991 102 951 350
forever lock 1 047 065 442; +1077.49% ‼️ 88 923 207 90 179 511 (85 677 998; 94 507 895) 66 335 212 112 176 550
read while writing 1 029 393 733; +900.40% ‼️ 102 898 311 103 955 981 (98 474 047; 107 709 149) 91 495 017 129 101 007
rwlock wide 2 630 264 636; +2012.41% ‼️ 124 515 119 126 707 508 (116 049 172; 132 118 507) 107 947 103 160 135 652
write while reading 1 955 319 425; +1724.81% ‼️ 107 151 656 109 703 736 (102 050 117; 116 588 014) 92 867 462 139 301 178

name = Async init

name current median average lower/upper quartile min max
approved pong 10 869 992 932; +3.91% ‼️ 10 460 690 330 10 453 773 207 (10 411 601 141; 10 490 649 392) 10 300 786 901 10 582 007 471

name = Async-await

name current median average lower/upper quartile min max
async-await 2 779 562 008; +2001.44% ‼️ 132 269 557 135 796 478 (124 233 766; 143 452 957) 115 399 640 174 754 264
mutex 2 579 583 307; +1869.77% ‼️ 130 958 920 134 640 811 (123 079 150; 145 699 697) 114 447 031 175 326 119
rwlock-write 2 533 418 184; +1833.15% ‼️ 131 051 482 135 487 611 (123 951 589; 146 004 902) 114 350 568 175 640 684

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 020 106 460; +1011.71% ‼️ 91 759 973 93 922 976 (88 665 289; 97 889 648) 75 534 058 120 521 781

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; eve doesn't answer, alice replies with incorrect payload 12 099 270 482; +146.02% ‼️ 4 917 911 664 4 915 963 047 (4 895 491 256; 4 940 795 758) 4 836 561 799 4 970 727 167
2 of 3; no replies 6 284 453 036; +29.84% ‼️ 4 840 106 647 4 842 186 058 (4 816 372 896; 4 865 514 522) 4 755 627 994 4 954 439 101
Single signatory & zero threshold 6 088 930 130; +23.84% ‼️ 4 916 782 009 4 915 795 343 (4 891 563 521; 4 939 438 002) 4 815 472 807 5 110 902 974
Three signatories; Bob replies with incorrect signature 12 096 441 712; +145.47% ‼️ 4 927 819 065 4 923 878 151 (4 896 726 586; 4 949 952 302) 4 840 218 568 5 037 641 379
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 12 115 240 908; +145.81% ‼️ 4 928 650 638 4 924 939 680 (4 904 379 092; 4 948 504 853) 4 831 037 462 5 036 877 119

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 436 182 152; +40.48% ‼️ 2 446 033 617 2 446 385 030 (2 426 290 407; 2 466 513 274) 2 372 861 072 2 541 767 385
correct signature but for another message 3 489 372 592; +39.23% ‼️ 2 506 279 212 2 507 105 784 (2 488 430 291; 2 525 006 404) 2 435 246 260 2 569 146 998
no reply 3 295 389 046; +35.33% ‼️ 2 435 119 435 2 434 089 003 (2 419 106 218; 2 450 274 475) 2 355 937 525 2 526 909 977
signed message 3 703 861 747; +47.80% ‼️ 2 505 918 520 2 505 272 576 (2 479 871 148; 2 525 768 534) 2 425 333 242 2 571 833 256

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 832 356 936; +1314.18% ‼️ 270 994 985 274 369 157 (261 355 819; 282 681 031) 250 485 071 315 685 116

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 690 538 470; +814.79% ‼️ 75 486 229 75 405 604 (71 051 575; 79 287 379) 59 711 437 90 753 216

name = Chat

name current median average lower/upper quartile min max
chat 1 708 747 695; +1543.05% ‼️ 103 998 586 105 179 365 (99 411 341; 108 066 208) 89 541 533 141 259 007

name = Decoder

name current median average lower/upper quartile min max
decoder 358 208 556; +424.06% ‼️ 68 352 886 69 414 028 (66 830 439; 72 376 879) 57 185 815 88 026 021

name = Exit code

name current median average lower/upper quartile min max
normal 611 291 655; +801.03% ‼️ 67 843 280 69 033 273 (63 864 619; 72 617 331) 57 609 246 96 552 944
panic 639 606 280; +814.30% ‼️ 69 955 812 70 621 967 (65 711 295; 74 809 723) 52 158 539 86 763 919

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 3 253 385 050; +2076.17% ‼️ 149 500 614 152 551 541 (142 257 832; 158 067 040) 132 255 238 202 770 191
join 2 549 285 103; +1613.25% ‼️ 148 798 199 152 111 217 (140 233 632; 157 893 793) 132 708 512 207 080 181
select 3 120 454 997; +2053.35% ‼️ 144 911 762 148 850 830 (136 153 764; 156 070 392) 125 090 412 194 095 991

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 653 115 158; +1941.02% ‼️ 129 989 428 133 336 704 (121 887 829; 141 151 098) 115 211 273 178 783 330

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 508 170 879; +626.54% ‼️ 69 943 900 71 114 799 (66 494 853; 75 077 960) 57 223 771 96 065 476

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 664 704 920; +738.08% ‼️ 79 313 065 80 660 011 (76 120 319; 84 137 080) 70 049 461 97 863 956

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 053 747 228; +3.76% ‼️ 9 689 341 357 9 683 795 182 (9 650 288 519; 9 719 784 530) 9 533 394 357 9 795 026 901

name = Multiping

name current median average lower/upper quartile min max
multiping 551 000 577; +765.33% ‼️ 63 675 542 64 456 161 (59 497 640; 69 034 298) 52 268 497 88 794 776

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 308 477 118; +396.91% ‼️ 62 078 729 62 900 794 (57 964 351; 66 360 422) 51 995 653 82 798 467
ping-pong wgas 74 084 227; +3.04% ✔️ 71 897 294 72 267 398 (67 618 150; 77 284 240) 54 544 440 91 921 114

name = Program generator

name current median average lower/upper quartile min max
program_generator 104 802 271; +103.84% ‼️ 51 412 744 50 885 702 (46 234 961; 54 928 021) 33 999 567 66 107 236

name = Program_id test

name current median average lower/upper quartile min max
program_id 330 308 691; +446.36% ‼️ 60 455 757 60 193 025 (56 110 537; 63 905 456) 47 346 317 76 903 975

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 548 296 116; +681.47% ‼️ 70 162 353 70 874 423 (66 502 402; 75 020 914) 50 264 130 90 333 195
state-saving 210 111 105; +203.12% ‼️ 69 316 423 70 086 777 (64 629 439; 74 120 802) 55 026 496 90 756 466

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 519 463 765; +664.45% ‼️ 67 952 431 67 866 046 (64 509 831; 70 337 918) 55 169 574 88 905 409
Try to re-init existing program 765 125 935; +888.30% ‼️ 77 418 486 78 100 598 (74 821 490; 80 450 957) 63 624 433 101 434 745

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 94 672 011; +98.72% ‼️ 47 641 462 48 507 144 (43 554 073; 54 310 812) 36 956 532 61 262 689

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 742 885 974; +569.78% ‼️ 110 915 038 112 015 394 (104 797 042; 117 557 211) 95 034 212 155 877 723

name = Wait test

name current median average lower/upper quartile min max
wait 786 370 733; +964.13% ‼️ 73 898 259 76 091 996 (70 647 566; 80 500 545) 60 698 467 101 819 954

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 706 649 388; +735.94% ‼️ 84 533 400 86 374 492 (80 580 120; 90 853 210) 70 876 671 105 760 047

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 766 652 920; +904.78% ‼️ 76 300 687 76 840 080 (74 047 479; 79 619 536) 63 394 290 98 169 255

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 013 324 648; +5.10% ‼️ 4 769 847 485 4 764 145 718 (4 737 466 540; 4 788 873 867) 4 665 381 755 4 847 567 505

name = gui test

name current median average lower/upper quartile min max
gui 6 863 410 473; +6.81% ‼️ 6 425 666 403 6 421 000 352 (6 398 312 056; 6 455 267 515) 6 302 490 145 6 542 503 191
bbbc634
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 40 780 000 000; +862.36% ❗ 4 237 500 000 5 042 349 999 (4 061 000 000; 4 386 000 000) 3 769 000 000 68 426 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 184 000 000; +1315.38% ❗ 13 000 000 24 620 000 (8 000 000; 26 500 000) 4 000 000 229 000 000
schedule::test::print_test_schedule 61 000 000; +281.25% ❗ 16 000 000 27 220 000 (8 000 000; 43 000 000) 4 000 000 112 000 000
tests::block_gas_limit_works 101 000 000; +320.83% ❗ 24 000 000 36 020 000 (16 500 000; 41 000 000) 11 000 000 223 000 000
tests::call_forbidden_function 101 000 000; +339.13% ❗ 23 000 000 34 450 000 (14 000 000; 43 500 000) 6 000 000 192 000 000
tests::cascading_messages_with_value_do_not_overcharge 148 000 000; +60.87% ❗ 92 000 000 100 880 000 (79 000 000; 109 500 000) 51 000 000 288 000 000
tests::claim_value_from_mailbox_works 89 000 000; +229.63% ❗ 27 000 000 34 400 000 (14 500 000; 43 000 000) 8 000 000 267 000 000
tests::defer_program_initialization 109 000 000; +169.14% ❗ 40 500 000 47 510 000 (31 000 000; 53 000 000) 20 000 000 225 000 000
tests::distributor_distribute 70 000 000; +89.19% ❗ 37 000 000 47 350 000 (25 000 000; 53 000 000) 16 000 000 280 000 000
tests::distributor_initialize 34 000 000; -2.86% ✔️ 35 000 000 42 300 000 (20 000 000; 53 500 000) 10 000 000 209 000 000
tests::events_logging_works 31 000 000; +10.71% ✔️ 28 000 000 38 880 000 (17 000 000; 51 500 000) 10 000 000 203 000 000
tests::execution_over_blocks 1 014 000 000; +229.76% ‼️ 307 500 000 325 390 000 (291 000 000; 334 500 000) 248 000 000 660 000 000
tests::exit_handle 113 000 000; +270.49% ❗ 30 500 000 41 800 000 (17 000 000; 49 500 000) 6 000 000 261 000 000
tests::exit_init 117 000 000; +196.20% ❗ 39 500 000 47 040 000 (25 000 000; 57 000 000) 12 000 000 318 000 000
tests::gas_spent_precalculated 51 000 000; +41.67% ✔️ 36 000 000 44 470 000 (19 000 000; 62 500 000) 6 000 000 180 000 000
tests::gas_spent_vs_balance 57 000 000; -10.94% ✔️ 64 000 000 73 020 000 (50 000 000; 88 500 000) 33 000 000 236 000 000
tests::init_message_logging_works 50 000 000; +38.89% ✔️ 36 000 000 46 380 000 (22 000 000; 64 000 000) 6 000 000 240 000 000
tests::init_wait_reply_exit_cleaned_storage 80 000 000; +70.21% ❗ 47 000 000 59 870 000 (35 000 000; 66 500 000) 19 000 000 325 000 000
tests::lazy_pages 54 000 000; +50.00% ✔️ 36 000 000 46 200 000 (24 500 000; 58 500 000) 7 000 000 218 000 000
tests::mailbox_threshold_works 131 000 000; +159.41% ❗ 50 500 000 63 600 000 (35 500 000; 73 500 000) 22 000 000 278 000 000
tests::mailbox_works 34 000 000; -1.45% ✔️ 34 500 000 46 950 000 (23 000 000; 56 000 000) 6 000 000 292 000 000
tests::memory_access_cases 132 000 000; +221.95% ❗ 41 000 000 54 040 000 (27 000 000; 58 000 000) 7 000 000 281 000 000
tests::messages_processing_works 35 000 000; -12.50% ✔️ 40 000 000 49 720 000 (20 000 000; 60 500 000) 6 000 000 240 000 000
tests::messages_to_paused_program_skipped 32 000 000; -17.95% ✔️ 39 000 000 51 780 000 (23 000 000; 63 000 000) 12 000 000 231 000 000
tests::messages_to_uninitialized_program_wait 31 000 000; -26.19% ✔️ 42 000 000 49 500 000 (25 000 000; 57 500 000) 11 000 000 258 000 000
tests::no_redundant_gas_value_after_exiting 120 000 000; +179.07% ❗ 43 000 000 51 460 000 (25 000 000; 63 000 000) 6 000 000 220 000 000
tests::paused_program_keeps_id 36 000 000; -22.58% ✔️ 46 500 000 55 700 000 (33 000 000; 67 500 000) 17 000 000 217 000 000
tests::program_lifecycle_works 32 000 000; -22.89% ✔️ 41 500 000 48 370 000 (25 000 000; 62 000 000) 7 000 000 240 000 000
tests::program_messages_to_paused_program_skipped 177 000 000; +243.69% ❗ 51 500 000 62 820 000 (38 500 000; 74 500 000) 24 000 000 218 000 000
tests::replies_to_paused_program_skipped 124 000 000; +198.80% ❗ 41 500 000 55 860 000 (28 000 000; 63 500 000) 12 000 000 434 000 000
tests::restrict_start_section 79 000 000; +110.67% ❗ 37 500 000 50 800 000 (24 500 000; 55 500 000) 6 000 000 484 000 000
tests::resume_program_works 98 000 000; +81.48% ❗ 54 000 000 63 210 000 (39 000 000; 71 000 000) 25 000 000 270 000 000
tests::send_message_expected_failure 130 000 000; +195.45% ❗ 44 000 000 52 110 000 (31 000 000; 63 000 000) 8 000 000 231 000 000
tests::send_message_works 135 000 000; +246.15% ❗ 39 000 000 49 730 000 (25 500 000; 63 000 000) 8 000 000 281 000 000
tests::send_reply_failure_to_claim_from_mailbox 84 000 000; +82.61% ❗ 46 000 000 53 550 000 (29 500 000; 65 500 000) 8 000 000 208 000 000
tests::send_reply_value_claiming_works 74 000 000; +74.12% ❗ 42 500 000 54 700 000 (28 500 000; 60 500 000) 9 000 000 360 000 000
tests::send_reply_works 113 000 000; +169.05% ❗ 42 000 000 49 870 000 (28 000 000; 60 500 000) 9 000 000 248 000 000
tests::spent_gas_to_reward_block_author_works 137 000 000; +238.27% ❗ 40 500 000 52 170 000 (28 500 000; 62 500 000) 8 000 000 265 000 000
tests::submit_program_expected_failure 73 000 000; +64.04% ❗ 44 500 000 53 800 000 (28 500 000; 61 500 000) 10 000 000 356 000 000
tests::submit_program_fails_on_duplicate_id 61 000 000; +48.78% ✔️ 41 000 000 50 900 000 (28 000 000; 62 500 000) 7 000 000 390 000 000
tests::test_async_messages 902 000 000; +309.07% ‼️ 220 500 000 238 100 000 (207 500 000; 244 000 000) 175 000 000 555 000 000
tests::test_code_is_not_reset_within_program_submission 112 000 000; +180.00% ❗ 40 000 000 46 890 000 (27 000 000; 60 000 000) 7 000 000 174 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 85 000 000; +97.67% ❗ 43 000 000 53 160 000 (32 000 000; 62 500 000) 7 000 000 304 000 000
tests::test_code_submission_pass 61 000 000; +46.99% ✔️ 41 500 000 54 170 000 (30 000 000; 63 000 000) 7 000 000 305 000 000
tests::test_create_program_duplicate 141 000 000; +123.81% ❗ 63 000 000 69 620 000 (47 000 000; 80 000 000) 28 000 000 212 000 000
tests::test_create_program_duplicate_in_one_execution 85 000 000; +78.95% ❗ 47 500 000 58 980 000 (35 500 000; 67 500 000) 20 000 000 235 000 000
tests::test_create_program_miscellaneous 240 000 000; +272.09% ❗ 64 500 000 72 870 000 (50 000 000; 83 000 000) 31 000 000 292 000 000
tests::test_create_program_no_code_hash 161 000 000; +80.90% ❗ 89 000 000 99 570 000 (80 000 000; 104 500 000) 62 000 000 304 000 000
tests::test_create_program_simple 207 000 000; +218.46% ❗ 65 000 000 74 080 000 (52 500 000; 84 000 000) 31 000 000 303 000 000
tests::test_create_program_with_exceeding_value 105 000 000; +112.12% ❗ 49 500 000 55 300 000 (32 000 000; 65 000 000) 12 000 000 274 000 000
tests::test_create_program_with_value_lt_ed 149 000 000; +198.00% ❗ 50 000 000 61 090 000 (39 000 000; 73 000 000) 24 000 000 293 000 000
tests::test_create_program_without_gas_works 100 000 000; +132.56% ❗ 43 000 000 55 650 000 (28 500 000; 64 500 000) 15 000 000 316 000 000
tests::test_message_processing_for_non_existing_destination 165 000 000; +352.05% ❗ 36 500 000 47 160 000 (25 000 000; 53 500 000) 8 000 000 293 000 000
tests::test_reply_to_terminated_program 79 000 000; +66.32% ❗ 47 500 000 54 930 000 (32 500 000; 64 500 000) 13 000 000 384 000 000
tests::test_same_code_submission_fails 72 000 000; +75.61% ❗ 41 000 000 47 890 000 (25 500 000; 62 000 000) 9 000 000 245 000 000
tests::test_two_contracts_composition_works 196 000 000; +161.33% ❗ 75 000 000 87 400 000 (60 000 000; 93 000 000) 42 000 000 440 000 000
tests::uninitialized_program_should_accept_replies 178 000 000; +249.02% ❗ 51 000 000 61 210 000 (38 000 000; 68 500 000) 21 000 000 364 000 000
tests::unstoppable_block_execution_works 72 000 000; +84.62% ❗ 39 000 000 46 830 000 (24 000 000; 58 500 000) 10 000 000 334 000 000
tests::unused_gas_released_back_works 40 000 000; +8.11% ✔️ 37 000 000 45 630 000 (24 000 000; 56 500 000) 8 000 000 324 000 000
tests::wake_messages_after_program_inited 306 000 000; +282.50% ‼️ 80 000 000 91 430 000 (67 000 000; 101 000 000) 48 000 000 265 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 44 000 000; +39.68% ✔️ 31 500 000 41 900 000 (17 000 000; 57 000 000) 4 000 000 380 000 000
tests::check_changed_pages_in_storage 70 000 000; +68.67% ❗ 41 500 000 45 870 000 (28 000 000; 56 500 000) 8 000 000 186 000 000
tests::check_not_allocated_pages 58 000 000; +61.11% ✔️ 36 000 000 45 730 000 (26 000 000; 61 500 000) 9 000 000 232 000 000
tests::debug_mode_works 59 000 000; +42.17% ✔️ 41 500 000 49 060 000 (28 000 000; 60 500 000) 9 000 000 364 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 73 000 000; +121.21% ❗ 33 000 000 38 980 000 (20 000 000; 47 000 000) 4 000 000 231 000 000
tests::all_keys_are_cleared 164 000 000; +320.51% ❗ 39 000 000 46 180 000 (27 500 000; 55 000 000) 9 000 000 228 000 000
tests::can_cut_nodes 129 000 000; +235.06% ❗ 38 500 000 44 200 000 (23 000 000; 56 500 000) 6 000 000 212 000 000
tests::catch_value_all_blocked 45 000 000; +20.00% ✔️ 37 500 000 44 740 000 (25 000 000; 52 500 000) 8 000 000 240 000 000
tests::catch_value_all_catch 219 000 000; +563.64% ‼️ 33 000 000 38 870 000 (22 000 000; 51 000 000) 6 000 000 122 000 000
tests::gas_free_after_consumed 203 000 000; +471.83% ❗ 35 500 000 42 980 000 (21 500 000; 51 500 000) 4 000 000 290 000 000
tests::limit_vs_origin 128 000 000; +255.56% ❗ 36 000 000 42 540 000 (26 000 000; 53 000 000) 7 000 000 198 000 000
tests::long_chain 86 000 000; +132.43% ❗ 37 000 000 42 650 000 (25 000 000; 54 000 000) 6 000 000 180 000 000
tests::simple_value_tree 174 000 000; +346.15% ‼️ 39 000 000 43 680 000 (22 500 000; 55 000 000) 5 000 000 168 000 000
tests::split_with_no_value 105 000 000; +191.67% ❗ 36 000 000 45 710 000 (26 000 000; 53 500 000) 6 000 000 284 000 000
tests::splits_fail 234 000 000; +524.00% ‼️ 37 500 000 43 570 000 (24 500 000; 53 000 000) 7 000 000 182 000 000
tests::sub_nodes_tree_with_spends 120 000 000; +252.94% ❗ 34 000 000 42 940 000 (20 500 000; 49 000 000) 6 000 000 199 000 000
tests::subtree_gas_limit_remains_intact 15 000 000; -60.53% ✔️ 38 000 000 44 670 000 (22 000 000; 57 500 000) 4 000 000 210 000 000
tests::test_consume_procedure_with_subnodes 64 000 000; +103.17% ❗ 31 500 000 42 720 000 (22 000 000; 48 500 000) 6 000 000 356 000 000
tests::test_imbalances_drop 281 000 000; +836.67% ❗ 30 000 000 39 840 000 (18 500 000; 47 000 000) 4 000 000 336 000 000
tests::value_tree_known_errors 148 000 000; +410.34% ❗ 29 000 000 39 140 000 (19 500 000; 46 000 000) 5 000 000 268 000 000
tests::value_tree_with_all_kinds_of_nodes 129 000 000; +337.29% ❗ 29 500 000 42 080 000 (18 000 000; 51 000 000) 5 000 000 323 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 87 000 000; +216.36% ❗ 27 500 000 34 360 000 (14 000 000; 47 000 000) 4 000 000 175 000 000
tests::dequeued_impl_works_manually 175 000 000; +430.30% ❗ 33 000 000 41 680 000 (19 500 000; 51 500 000) 4 000 000 332 000 000
tests::queue_processing_impl_works_manually 68 000 000; +134.48% ❗ 29 000 000 37 610 000 (19 000 000; 47 500 000) 4 000 000 296 000 000
tests::queue_works 143 000 000; +340.00% ❗ 32 500 000 39 350 000 (21 000 000; 45 000 000) 8 000 000 328 000 000
tests::sent_impl_works 123 000 000; +316.95% ❗ 29 500 000 37 290 000 (16 000 000; 43 500 000) 5 000 000 220 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 160 000 000; +580.85% ❗ 23 500 000 34 080 000 (14 000 000; 41 500 000) 3 000 000 304 000 000
tests::custom_fee_multiplier_updated_per_block 146 000 000; +363.49% ❗ 31 500 000 40 730 000 (22 000 000; 43 000 000) 5 000 000 312 000 000
tests::fee_rounding_error_bounded_by_multiplier 79 000 000; +139.39% ❗ 33 000 000 36 910 000 (21 000 000; 45 000 000) 7 000 000 155 000 000
tests::mq_size_affecting_fee_works 152 000 000; +424.14% ❗ 29 000 000 35 810 000 (16 500 000; 41 000 000) 6 000 000 264 000 000
tests::mq_size_not_affecting_fee_works 245 000 000; +775.00% ‼️ 28 000 000 37 520 000 (19 500 000; 43 000 000) 5 000 000 228 000 000
tests::query_info_and_fee_details_work 164 000 000; +496.36% ❗ 27 500 000 38 120 000 (17 000 000; 43 500 000) 6 000 000 312 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 77 000 000; +185.19% ❗ 27 000 000 33 800 000 (12 500 000; 38 500 000) 4 000 000 296 000 000
tests::pause_program_twice_fails 132 000 000; +428.00% ❗ 25 000 000 35 820 000 (17 000 000; 43 000 000) 6 000 000 235 000 000
tests::pause_program_works 106 000 000; +216.42% ❗ 33 500 000 41 520 000 (23 000 000; 45 000 000) 13 000 000 200 000 000
tests::pause_terminated_program_fails 75 000 000; +188.46% ❗ 26 000 000 31 910 000 (15 500 000; 38 000 000) 4 000 000 157 000 000
tests::pause_uninitialized_program_works 74 000 000; +131.25% ❗ 32 000 000 39 210 000 (22 500 000; 41 500 000) 14 000 000 200 000 000
tests::resume_program_twice_fails 118 000 000; +263.08% ❗ 32 500 000 40 680 000 (26 000 000; 42 500 000) 17 000 000 196 000 000
tests::resume_program_wrong_list_fails 244 000 000; +662.50% ‼️ 32 000 000 39 820 000 (25 000 000; 42 000 000) 16 000 000 204 000 000
tests::resume_program_wrong_memory_fails 214 000 000; +613.33% ‼️ 30 000 000 39 220 000 (24 500 000; 42 500 000) 12 000 000 196 000 000
tests::resume_uninitialized_program_works 152 000 000; +390.32% ❗ 31 000 000 38 920 000 (26 000 000; 41 500 000) 16 000 000 203 000 000

name = pallet-gear-scheduler

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 154 000 000; +584.44% ❗ 22 500 000 29 340 000 (14 500 000; 32 500 000) 4 000 000 176 000 000
tests::gear_handles_outdated_tasks 21 000 000; -27.59% ✔️ 29 000 000 35 300 000 (19 500 000; 38 500 000) 7 000 000 160 000 000
tests::gear_handles_tasks 92 000 000; +253.85% ❗ 26 000 000 33 060 000 (18 000 000; 35 500 000) 6 000 000 183 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 298 449 571 337; +329.20% ‼️ 69 536 070 522 77 385 210 758 (68 953 091 575; 78 006 459 688) 68 018 144 820 130 636 520 981

name = Async RwLock

name current median average lower/upper quartile min max
check readers 838 512 741; +865.46% ❗ 86 851 424 144 389 515 (82 652 151; 112 628 354) 53 358 730 886 245 305
forever lock 1 077 090 945; +1019.83% ‼️ 96 183 296 147 968 436 (87 459 914; 122 509 223) 77 107 677 784 698 275
read while writing 2 060 659 340; +1715.01% ‼️ 113 534 346 176 192 568 (100 522 501; 144 840 545) 89 417 269 1 879 035 325
rwlock wide 2 675 406 802; +1915.85% ‼️ 132 718 409 237 351 467 (121 164 745; 165 615 158) 107 691 680 1 304 862 036
write while reading 2 498 487 471; +2085.29% ‼️ 114 332 298 178 093 620 (105 442 715; 146 848 439) 53 216 657 1 380 242 835

name = Async init

name current median average lower/upper quartile min max
approved pong 11 288 033 525; +7.93% ❗ 10 458 866 317 11 082 119 752 (10 375 615 603; 11 151 217 977) 10 215 050 070 14 952 083 192

name = Async-await

name current median average lower/upper quartile min max
async-await 3 452 360 040; +2370.31% ‼️ 139 754 282 250 545 810 (129 201 189; 176 472 867) 104 582 547 1 437 601 620
mutex 2 905 113 650; +1926.21% ‼️ 143 376 758 261 115 821 (128 098 882; 178 142 461) 109 043 977 1 484 961 071
rwlock-write 3 166 956 180; +2199.35% ‼️ 137 732 686 250 693 386 (127 388 060; 169 643 679) 102 241 074 1 990 566 742

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 1 321 788 502; +1280.40% ❗ 95 754 165 175 561 389 (89 144 620; 124 373 790) 32 915 112 1 499 773 362

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; eve doesn't answer, alice replies with incorrect payload 23 139 011 719; +366.64% ‼️ 4 958 614 572 5 359 206 800 (4 919 458 580; 5 325 740 462) 4 815 973 411 8 116 250 917
2 of 3; no replies 6 235 867 937; +27.85% ❗ 4 877 501 528 5 283 945 553 (4 832 440 940; 5 257 208 876) 4 752 845 256 7 605 864 774
Single signatory & zero threshold 22 586 336 233; +355.42% ‼️ 4 959 467 869 5 361 488 902 (4 904 066 846; 5 463 262 468) 4 839 881 169 7 828 545 364
Three signatories; Bob replies with incorrect signature 25 815 296 822; +420.16% ‼️ 4 962 949 688 5 352 220 337 (4 899 368 911; 5 375 662 731) 4 783 316 922 7 555 797 791
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 25 521 403 087; +413.36% ‼️ 4 971 396 237 5 351 391 995 (4 913 924 730; 5 364 708 107) 4 778 314 989 7 618 731 078

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 857 026 758; +55.84% ❗ 2 474 912 336 2 722 605 022 (2 435 909 665; 2 722 175 599) 2 369 898 173 5 112 301 878
correct signature but for another message 6 153 378 801; +143.03% ‼️ 2 531 979 992 2 783 559 218 (2 494 543 098; 2 747 079 821) 2 416 699 274 5 065 246 852
no reply 3 869 163 185; +57.04% ❗ 2 463 885 688 2 688 271 396 (2 424 921 686; 2 730 846 794) 2 363 292 813 4 327 408 061
signed message 9 337 082 755; +269.12% ‼️ 2 529 551 178 2 775 968 154 (2 489 759 599; 2 778 734 864) 2 418 303 186 4 500 836 994

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 4 539 745 112; +1504.11% ‼️ 283 006 745 469 405 996 (264 177 926; 323 173 382) 244 851 888 2 972 948 490

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 844 652 288; +989.85% ❗ 77 501 749 133 165 111 (72 654 028; 99 832 317) 25 083 973 1 220 868 710

name = Chat

name current median average lower/upper quartile min max
chat 2 074 774 027; +1784.28% ‼️ 110 109 383 183 795 709 (99 442 647; 142 456 986) 72 587 376 1 333 575 178

name = Decoder

name current median average lower/upper quartile min max
decoder 487 984 184; +571.64% ❗ 72 655 629 115 429 599 (67 902 902; 90 674 690) 8 864 888 984 153 855

name = Exit code

name current median average lower/upper quartile min max
normal 405 947 963; +477.88% ❗ 70 247 293 125 319 966 (64 920 200; 86 609 450) 13 850 203 1 090 470 242
panic 656 462 944; +784.17% ❗ 74 246 267 123 029 639 (67 253 781; 95 865 385) 51 296 161 719 528 640

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 3 868 466 681; +2322.46% ‼️ 159 691 796 283 265 131 (147 007 609; 193 728 710) 126 442 586 1 512 815 227
join 3 553 682 115; +2183.15% ‼️ 155 648 299 286 337 509 (142 735 814; 196 490 409) 129 790 902 1 870 004 118
select 3 513 048 169; +2240.65% ‼️ 150 088 300 269 789 056 (136 050 950; 184 886 938) 68 860 957 2 385 398 026

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 3 474 748 844; +2333.41% ‼️ 142 793 679 219 863 868 (129 370 350; 171 981 182) 104 447 000 1 261 282 704

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 520 341 426; +594.37% ❗ 74 936 920 113 187 104 (68 420 627; 98 545 639) 14 510 946 844 714 019

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 794 660 253; +860.23% ❗ 82 757 416 180 971 700 (76 486 980; 110 529 391) 13 530 475 2 364 770 285

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 513 014 712; +8.00% ❗ 9 734 248 314 10 301 444 205 (9 610 602 696; 10 472 462 669) 9 507 312 175 13 932 615 354

name = Multiping

name current median average lower/upper quartile min max
multiping 595 813 572; +792.86% ❗ 66 731 109 111 692 063 (61 356 827; 90 279 776) 50 777 973 620 628 235

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 268 827 477; +292.93% ❗ 68 415 995 111 410 849 (61 738 111; 84 966 686) 16 416 599 962 456 715
ping-pong wgas 644 649 081; +766.21% ❗ 74 421 719 126 557 421 (67 054 420; 97 838 247) 10 916 443 1 126 602 065

name = Program generator

name current median average lower/upper quartile min max
program_generator 59 973 018; +11.87% ✔️ 53 608 530 82 587 624 (47 522 713; 66 669 455) 4 173 480 778 875 899

name = Program_id test

name current median average lower/upper quartile min max
program_id 274 025 159; +326.25% ❗ 64 286 879 126 814 671 (56 653 537; 83 729 015) 10 721 884 1 145 463 286

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 795 805 106; +989.26% ❗ 73 059 310 122 423 541 (65 958 922; 90 371 899) 20 840 281 1 279 744 787
state-saving 812 240 546; +987.30% ❗ 74 702 453 118 965 191 (66 522 631; 97 643 054) 38 727 942 1 050 442 007

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 62 308 021; -12.25% ✔️ 71 003 877 136 735 837 (64 861 254; 87 540 694) 8 941 081 1 094 113 363
Try to re-init existing program 853 570 085; +962.17% ❗ 80 360 621 137 666 577 (74 464 758; 99 258 941) 44 222 579 1 224 478 502

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 200 048 556; +317.65% ❗ 47 898 913 73 497 549 (42 439 663; 62 213 489) 5 265 035 612 900 393

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 87 253 171; -27.68% ✔️ 120 646 476 208 757 119 (108 670 970; 148 732 608) 93 377 150 1 374 619 405

name = Wait test

name current median average lower/upper quartile min max
wait 716 836 724; +822.52% ❗ 77 704 337 116 507 602 (68 997 207; 95 813 413) 44 977 778 829 731 266

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 783 450 160; +798.99% ❗ 87 148 057 164 104 102 (82 484 477; 107 195 806) 21 929 389 1 338 108 866

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 743 238 308; +829.01% ❗ 80 003 660 164 567 954 (74 344 361; 101 320 552) 18 325 017 1 406 174 255

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 252 113 782; +8.97% ✔️ 4 819 809 934 5 234 139 669 (4 754 498 062; 5 271 859 374) 4 652 713 103 8 556 070 910

name = gui test

name current median average lower/upper quartile min max
gui 7 095 334 138; +9.52% ❗ 6 478 460 221 6 961 089 230 (6 396 156 445; 7 018 642 298) 6 244 559 109 10 167 056 526

@codecov
Copy link

codecov bot commented Jul 18, 2022

Codecov Report

Merging #1198 (bbbc634) into master (a85a854) will increase coverage by 0.02%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##           master    #1198      +/-   ##
==========================================
+ Coverage   72.09%   72.11%   +0.02%     
==========================================
  Files         107      107              
  Lines        9932     9949      +17     
==========================================
+ Hits         7160     7175      +15     
- Misses       2772     2774       +2     
Impacted Files Coverage Δ
core-processor/src/ext.rs 92.43% <ø> (ø)
core/src/env.rs 100.00% <ø> (ø)
core/src/message/mod.rs 45.45% <ø> (ø)
pallets/gear/src/lib.rs 62.01% <ø> (ø)
core/src/message/incoming.rs 97.01% <75.00%> (ø)
core/src/message/stored.rs 91.30% <75.00%> (ø)
core/src/message/common.rs 87.01% <77.77%> (-0.29%) ⬇️
core-backend/sandbox/src/funcs.rs 81.70% <100.00%> (ø)
core-backend/wasmtime/src/funcs.rs 79.40% <100.00%> (+0.15%) ⬆️
core/src/message/reply.rs 93.10% <100.00%> (ø)
... and 6 more

Continue to review full report at Codecov.

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

Copy link
Contributor

@shamilsan shamilsan left a comment

Choose a reason for hiding this comment

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

I like using structs instead of tuples in such kind of circumstances 👍

core/src/message/mod.rs Show resolved Hide resolved
core-backend/sandbox/src/funcs.rs Outdated Show resolved Hide resolved
core-backend/sandbox/src/funcs.rs Outdated 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 Jul 19, 2022
@breathx breathx merged commit 2ead40c into master Jul 19, 2022
@breathx breathx deleted the dn-reply-data branch July 19, 2022 12:27
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 C2-refactoring Refactoring proposal D1-core Gear Core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants