gear
gear copied to clipboard
Test for weight on loop on client
Resolves #573.
In general, issue solved by a lot of PRs, fixes and optimisations. This PR includes test on real client, which checks that the message with inf loop and maximal gas limit for block works (successfully fails) and don't executes twice.
Thanks @osipov-mit for the most of js code, but it had some bugs which were fixed by me, so it should be properly reviewed.
f204053594344168ab1582846155c75c84a4c745
Pallet tests (values are in nanoseconds)
Total execution time
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Total time | 131 609 000 000; +3226.40% :bangbang: | 3 956 500 000 | 4 486 129 999 | (3 781 500 000; 4 085 500 000) | 3 200 000 000 | 58 836 000 000 |
name = pallet-gear
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
mock::__construct_runtime_integrity_test::runtime_integrity_tests | 111 000 000; +1133.33% :bangbang: | 9 000 000 | 9 380 000 | (8 000 000; 10 000 000) | 7 000 000 | 17 000 000 |
schedule::test::print_test_schedule | 147 000 000; +1533.33% :bangbang: | 9 000 000 | 9 580 000 | (8 000 000; 10 000 000) | 6 000 000 | 16 000 000 |
tests::block_gas_limit_works | 147 000 000; +818.75% :bangbang: | 16 000 000 | 16 480 000 | (15 000 000; 17 500 000) | 12 000 000 | 21 000 000 |
tests::calculate_gas_info_for_wait_dispatch_works | 146 000 000; +508.33% :bangbang: | 24 000 000 | 24 080 000 | (22 000 000; 25 000 000) | 16 000 000 | 36 000 000 |
tests::calculate_init_gas | 174 000 000; +728.57% :bangbang: | 21 000 000 | 20 730 000 | (18 000 000; 23 000 000) | 15 000 000 | 33 000 000 |
tests::call_forbidden_function | 112 000 000; +700.00% :bangbang: | 14 000 000 | 12 880 000 | (10 000 000; 15 000 000) | 8 000 000 | 18 000 000 |
tests::cascading_messages_with_value_do_not_overcharge | 401 000 000; +616.07% :bangbang: | 56 000 000 | 57 450 000 | (54 000 000; 59 500 000) | 51 000 000 | 69 000 000 |
tests::check_gear_stack_end_fail | 139 000 000; +826.67% :bangbang: | 15 000 000 | 14 160 000 | (13 000 000; 15 000 000) | 8 000 000 | 21 000 000 |
tests::claim_value_works | 136 000 000; +837.93% :bangbang: | 14 500 000 | 14 280 000 | (13 000 000; 15 000 000) | 9 000 000 | 17 000 000 |
tests::defer_program_initialization | 164 000 000; +485.71% :bangbang: | 28 000 000 | 27 880 000 | (25 000 000; 30 000 000) | 22 000 000 | 38 000 000 |
tests::distributor_distribute | 191 000 000; +768.18% :bangbang: | 22 000 000 | 21 830 000 | (20 000 000; 23 000 000) | 17 000 000 | 30 000 000 |
tests::distributor_initialize | 134 000 000; +793.33% :bangbang: | 15 000 000 | 15 430 000 | (14 000 000; 17 000 000) | 11 000 000 | 23 000 000 |
tests::events_logging_works | 132 000 000; +842.86% :bangbang: | 14 000 000 | 14 350 000 | (13 000 000; 15 000 000) | 11 000 000 | 22 000 000 |
tests::execution_over_blocks | 554 000 000; +182.65% :bangbang: | 196 000 000 | 197 430 000 | (192 000 000; 203 000 000) | 187 000 000 | 212 000 000 |
tests::exit_handle | 120 000 000; +823.08% :bangbang: | 13 000 000 | 12 980 000 | (12 000 000; 13 000 000) | 8 000 000 | 21 000 000 |
tests::exit_init | 119 000 000; +561.11% :bangbang: | 18 000 000 | 17 250 000 | (15 000 000; 19 000 000) | 12 000 000 | 22 000 000 |
tests::free_storage_hold_on_scheduler_overwhelm | 176 000 000; +758.54% :bangbang: | 20 500 000 | 20 690 000 | (19 000 000; 22 000 000) | 13 000 000 | 27 000 000 |
tests::gas_spent_precalculated | 174 000 000; +1350.00% :bangbang: | 12 000 000 | 12 540 000 | (11 000 000; 13 000 000) | 10 000 000 | 20 000 000 |
tests::gas_spent_vs_balance | 379 000 000; +924.32% :bangbang: | 37 000 000 | 37 110 000 | (35 000 000; 39 000 000) | 31 000 000 | 47 000 000 |
tests::init_message_logging_works | 116 000 000; +866.67% :bangbang: | 12 000 000 | 12 240 000 | (11 000 000; 13 000 000) | 8 000 000 | 21 000 000 |
tests::init_wait_reply_exit_cleaned_storage | 172 000 000; +561.54% :bangbang: | 26 000 000 | 26 730 000 | (25 000 000; 28 000 000) | 20 000 000 | 37 000 000 |
tests::lazy_pages | 114 000 000; +850.00% :bangbang: | 12 000 000 | 12 730 000 | (11 000 000; 14 500 000) | 8 000 000 | 19 000 000 |
tests::locking_gas_for_waitlist | 171 000 000; +338.46% :bangbang: | 39 000 000 | 39 170 000 | (37 000 000; 41 000 000) | 33 000 000 | 47 000 000 |
tests::mailbox_rent_claimed | 203 000 000; +1094.12% :bangbang: | 17 000 000 | 17 300 000 | (16 000 000; 19 000 000) | 11 000 000 | 25 000 000 |
tests::mailbox_rent_out_of_rent | 203 000 000; +915.00% :bangbang: | 20 000 000 | 20 610 000 | (18 500 000; 22 500 000) | 15 000 000 | 30 000 000 |
tests::mailbox_sending_instant_transfer | 140 000 000; +723.53% :bangbang: | 17 000 000 | 16 890 000 | (15 000 000; 18 000 000) | 13 000 000 | 26 000 000 |
tests::mailbox_threshold_works | 169 000 000; +550.00% :bangbang: | 26 000 000 | 25 570 000 | (23 000 000; 28 000 000) | 19 000 000 | 32 000 000 |
tests::mailbox_works | 168 000 000; +1192.31% :bangbang: | 13 000 000 | 12 960 000 | (12 000 000; 14 000 000) | 7 000 000 | 23 000 000 |
tests::memory_access_cases | 139 000 000; +969.23% :bangbang: | 13 000 000 | 13 160 000 | (12 000 000; 14 000 000) | 9 000 000 | 18 000 000 |
tests::messages_processing_works | 138 000 000; +961.54% :bangbang: | 13 000 000 | 12 660 000 | (12 000 000; 14 000 000) | 7 000 000 | 19 000 000 |
tests::messages_to_paused_program_skipped | 167 000 000; +827.78% :bangbang: | 18 000 000 | 17 320 000 | (15 000 000; 19 000 000) | 12 000 000 | 23 000 000 |
tests::messages_to_uninitialized_program_wait | 136 000 000; +700.00% :bangbang: | 17 000 000 | 16 790 000 | (15 000 000; 19 000 000) | 12 000 000 | 22 000 000 |
tests::missing_functions_are_not_executed | 162 000 000; +1250.00% :bangbang: | 12 000 000 | 12 550 000 | (11 000 000; 13 000 000) | 8 000 000 | 22 000 000 |
tests::missing_handle_is_not_executed | 161 000 000; +1241.67% :bangbang: | 12 000 000 | 11 660 000 | (11 000 000; 13 000 000) | 7 000 000 | 22 000 000 |
tests::no_redundant_gas_value_after_exiting | 127 000 000; +958.33% :bangbang: | 12 000 000 | 12 820 000 | (11 000 000; 13 500 000) | 9 000 000 | 21 000 000 |
tests::paused_program_keeps_id | 187 000 000; +938.89% :bangbang: | 18 000 000 | 17 190 000 | (15 000 000; 19 000 000) | 12 000 000 | 22 000 000 |
tests::program_lifecycle_works | 184 000 000; +1433.33% :bangbang: | 12 000 000 | 12 000 000 | (11 000 000; 13 000 000) | 8 000 000 | 19 000 000 |
tests::program_messages_to_paused_program_skipped | 149 000 000; +496.00% :bangbang: | 25 000 000 | 24 790 000 | (23 000 000; 27 000 000) | 19 000 000 | 31 000 000 |
tests::replies_to_paused_program_skipped | 145 000 000; +752.94% :bangbang: | 17 000 000 | 16 890 000 | (15 000 000; 19 000 000) | 10 000 000 | 28 000 000 |
tests::restrict_start_section | 173 000 000; +2062.50% :bangbang: | 8 000 000 | 9 170 000 | (7 000 000; 11 000 000) | 5 000 000 | 18 000 000 |
tests::resume_program_works | 151 000 000; +504.00% :bangbang: | 25 000 000 | 25 060 000 | (23 000 000; 27 000 000) | 18 000 000 | 31 000 000 |
tests::send_message_expected_failure | 151 000 000; +1272.73% :bangbang: | 11 000 000 | 10 910 000 | (8 000 000; 13 000 000) | 7 000 000 | 17 000 000 |
tests::send_message_works | 142 000 000; +1083.33% :bangbang: | 12 000 000 | 11 560 000 | (8 500 000; 14 000 000) | 7 000 000 | 17 000 000 |
tests::send_reply_failure_to_claim_from_mailbox | 141 000 000; +984.62% :bangbang: | 13 000 000 | 12 230 000 | (9 000 000; 15 000 000) | 6 000 000 | 18 000 000 |
tests::send_reply_value_claiming_works | 141 000 000; +907.14% :bangbang: | 14 000 000 | 13 230 000 | (12 000 000; 15 000 000) | 7 000 000 | 18 000 000 |
tests::send_reply_works | 141 000 000; +984.62% :bangbang: | 13 000 000 | 12 400 000 | (9 000 000; 14 000 000) | 7 000 000 | 21 000 000 |
tests::spent_gas_to_reward_block_author_works | 140 000 000; +1117.39% :bangbang: | 11 500 000 | 10 660 000 | (8 000 000; 13 000 000) | 7 000 000 | 21 000 000 |
tests::test_async_messages | 378 000 000; +200.00% :bangbang: | 126 000 000 | 127 840 000 | (125 000 000; 128 500 000) | 123 000 000 | 149 000 000 |
tests::test_code_is_not_reset_within_program_submission | 129 000 000; +1512.50% :bangbang: | 8 000 000 | 9 560 000 | (7 000 000; 13 000 000) | 5 000 000 | 22 000 000 |
tests::test_code_is_not_submitted_twice_after_program_submission | 129 000 000; +1512.50% :bangbang: | 8 000 000 | 9 890 000 | (7 000 000; 12 000 000) | 6 000 000 | 20 000 000 |
tests::test_code_submission_pass | 118 000 000; +1375.00% :bangbang: | 8 000 000 | 9 640 000 | (7 000 000; 12 500 000) | 5 000 000 | 17 000 000 |
tests::test_create_program_duplicate | 94 000 000; +235.71% :bangbang: | 28 000 000 | 27 930 000 | (27 000 000; 29 000 000) | 22 000 000 | 33 000 000 |
tests::test_create_program_duplicate_in_one_execution | 264 000 000; +1157.14% :bangbang: | 21 000 000 | 21 110 000 | (20 000 000; 22 000 000) | 15 000 000 | 30 000 000 |
tests::test_create_program_miscellaneous | 264 000 000; +725.00% :bangbang: | 32 000 000 | 33 120 000 | (31 000 000; 34 000 000) | 29 000 000 | 39 000 000 |
tests::test_create_program_no_code_hash | 330 000 000; +633.33% :bangbang: | 45 000 000 | 47 050 000 | (44 000 000; 48 000 000) | 42 000 000 | 58 000 000 |
tests::test_create_program_simple | 88 000 000; +166.67% :bangbang: | 33 000 000 | 34 480 000 | (32 000 000; 38 000 000) | 30 000 000 | 42 000 000 |
tests::test_create_program_with_exceeding_value | 260 000 000; +1633.33% :bangbang: | 15 000 000 | 15 510 000 | (14 000 000; 17 000 000) | 12 000 000 | 20 000 000 |
tests::test_create_program_with_value_lt_ed | 88 000 000; +319.05% :bangbang: | 21 000 000 | 20 860 000 | (19 000 000; 22 000 000) | 15 000 000 | 31 000 000 |
tests::test_create_program_without_gas_works | 259 000 000; +1570.97% :bangbang: | 15 500 000 | 15 680 000 | (15 000 000; 16 000 000) | 12 000 000 | 25 000 000 |
tests::test_create_program_works | 259 000 000; +1026.09% :bangbang: | 23 000 000 | 23 100 000 | (21 000 000; 25 000 000) | 19 000 000 | 29 000 000 |
tests::test_message_processing_for_non_existing_destination | 66 000 000; +633.33% :bangbang: | 9 000 000 | 9 990 000 | (7 000 000; 13 000 000) | 6 000 000 | 24 000 000 |
tests::test_reply_to_terminated_program | 65 000 000; +333.33% :bangbang: | 15 000 000 | 15 330 000 | (14 500 000; 16 000 000) | 9 000 000 | 24 000 000 |
tests::test_same_code_submission_fails | 64 000 000; +611.11% :bangbang: | 9 000 000 | 10 130 000 | (7 000 000; 14 000 000) | 5 000 000 | 22 000 000 |
tests::test_two_contracts_composition_works | 236 000 000; +475.61% :bangbang: | 41 000 000 | 42 440 000 | (40 000 000; 44 000 000) | 38 000 000 | 52 000 000 |
tests::uninitialized_program_should_accept_replies | 63 000 000; +186.36% :bangbang: | 22 000 000 | 22 110 000 | (21 000 000; 23 000 000) | 16 000 000 | 27 000 000 |
tests::uninitialized_program_zero_gas | 234 000 000; +1460.00% :bangbang: | 15 000 000 | 16 120 000 | (14 000 000; 18 000 000) | 12 000 000 | 26 000 000 |
tests::unstoppable_block_execution_works | 62 000 000; +342.86% :bangbang: | 14 000 000 | 13 430 000 | (12 000 000; 15 000 000) | 8 000 000 | 20 000 000 |
tests::unused_gas_released_back_works | 230 000 000; +1900.00% :bangbang: | 11 500 000 | 11 540 000 | (9 000 000; 14 000 000) | 7 000 000 | 20 000 000 |
tests::upload_program_expected_failure | 58 000 000; +544.44% :bangbang: | 9 000 000 | 9 970 000 | (8 000 000; 12 500 000) | 6 000 000 | 20 000 000 |
tests::upload_program_fails_on_duplicate_id | 229 000 000; +1808.33% :bangbang: | 12 000 000 | 11 460 000 | (9 000 000; 13 000 000) | 7 000 000 | 21 000 000 |
tests::wake_messages_after_program_inited | 275 000 000; +587.50% :bangbang: | 40 000 000 | 40 820 000 | (38 500 000; 41 500 000) | 37 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 | 207 000 000; +2487.50% :bangbang: | 8 000 000 | 8 460 000 | (7 000 000; 9 000 000) | 5 000 000 | 13 000 000 |
tests::check_changed_pages_in_storage | 207 000 000; +1492.31% :bangbang: | 13 000 000 | 13 620 000 | (13 000 000; 15 000 000) | 8 000 000 | 23 000 000 |
tests::check_gear_stack_end | 34 000 000; +161.54% :bangbang: | 13 000 000 | 12 410 000 | (10 000 000; 14 000 000) | 6 000 000 | 20 000 000 |
tests::check_not_allocated_pages | 205 000 000; +1476.92% :bangbang: | 13 000 000 | 13 070 000 | (12 000 000; 15 000 000) | 8 000 000 | 19 000 000 |
tests::debug_mode_works | 204 000 000; +1469.23% :bangbang: | 13 000 000 | 12 850 000 | (11 000 000; 14 000 000) | 8 000 000 | 19 000 000 |
name = pallet-gear-gas
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
mock::__construct_runtime_integrity_test::runtime_integrity_tests | 204 000 000; +2450.00% :bangbang: | 8 000 000 | 7 890 000 | (7 000 000; 9 000 000) | 4 000 000 | 13 000 000 |
tests::all_keys_are_cleared | 294 000 000; +3166.67% :bangbang: | 9 000 000 | 9 790 000 | (8 000 000; 11 500 000) | 5 000 000 | 16 000 000 |
tests::can_cut_nodes | 202 000 000; +2144.44% :bangbang: | 9 000 000 | 9 700 000 | (8 000 000; 12 000 000) | 6 000 000 | 15 000 000 |
tests::catch_value_all_blocked | 270 000 000; +1976.92% :bangbang: | 13 000 000 | 12 740 000 | (12 000 000; 14 000 000) | 7 000 000 | 20 000 000 |
tests::catch_value_all_catch | 269 000 000; +3262.50% :bangbang: | 8 000 000 | 9 080 000 | (8 000 000; 9 000 000) | 6 000 000 | 16 000 000 |
tests::gas_free_after_consumed | 201 000 000; +2412.50% :bangbang: | 8 000 000 | 8 450 000 | (7 000 000; 9 000 000) | 6 000 000 | 17 000 000 |
tests::limit_vs_origin | 288 000 000; +2115.38% :bangbang: | 13 000 000 | 12 300 000 | (8 500 000; 15 000 000) | 7 000 000 | 18 000 000 |
tests::lock_works | 243 000 000; +2937.50% :bangbang: | 8 000 000 | 10 200 000 | (7 000 000; 14 000 000) | 6 000 000 | 18 000 000 |
tests::long_chain | 174 000 000; +1350.00% :bangbang: | 12 000 000 | 11 240 000 | (8 000 000; 14 000 000) | 6 000 000 | 18 000 000 |
tests::simple_value_tree | 275 000 000; +3828.57% :bangbang: | 7 000 000 | 8 370 000 | (7 000 000; 8 500 000) | 5 000 000 | 17 000 000 |
tests::split_with_no_value | 280 000 000; +2445.45% :bangbang: | 11 000 000 | 10 520 000 | (7 000 000; 13 500 000) | 6 000 000 | 19 000 000 |
tests::splits_fail | 161 000 000; +1241.67% :bangbang: | 12 000 000 | 10 940 000 | (8 000 000; 14 000 000) | 6 000 000 | 18 000 000 |
tests::sub_nodes_tree_with_spends | 285 000 000; +3462.50% :bangbang: | 8 000 000 | 9 980 000 | (7 000 000; 13 000 000) | 6 000 000 | 18 000 000 |
tests::subtree_gas_limit_remains_intact | 157 000 000; +1208.33% :bangbang: | 12 000 000 | 11 050 000 | (8 000 000; 14 000 000) | 6 000 000 | 17 000 000 |
tests::test_consume_procedure_with_subnodes | 262 000 000; +2083.33% :bangbang: | 12 000 000 | 10 560 000 | (7 000 000; 13 000 000) | 6 000 000 | 17 000 000 |
tests::test_imbalances_drop | 239 000 000; +3314.29% :bangbang: | 7 000 000 | 7 480 000 | (6 000 000; 8 000 000) | 4 000 000 | 16 000 000 |
tests::value_tree_known_errors | 299 000 000; +3637.50% :bangbang: | 8 000 000 | 9 490 000 | (7 000 000; 12 500 000) | 5 000 000 | 15 000 000 |
tests::value_tree_with_all_kinds_of_nodes | 265 000 000; +3685.71% :bangbang: | 7 000 000 | 8 300 000 | (6 000 000; 11 000 000) | 5 000 000 | 15 000 000 |
name = pallet-gear-messenger
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
mock::__construct_runtime_integrity_test::runtime_integrity_tests | 277 000 000; +4516.67% :bangbang: | 6 000 000 | 6 500 000 | (6 000 000; 7 000 000) | 4 000 000 | 12 000 000 |
tests::dequeued_impl_works_manually | 182 000 000; +2500.00% :bangbang: | 7 000 000 | 7 170 000 | (6 000 000; 8 000 000) | 4 000 000 | 12 000 000 |
tests::queue_processing_impl_works_manually | 266 000 000; +3700.00% :bangbang: | 7 000 000 | 7 390 000 | (6 500 000; 8 000 000) | 4 000 000 | 12 000 000 |
tests::queue_works | 177 000 000; +2112.50% :bangbang: | 8 000 000 | 7 680 000 | (7 000 000; 9 000 000) | 5 000 000 | 12 000 000 |
tests::sent_impl_works | 160 000 000; +1900.00% :bangbang: | 8 000 000 | 7 940 000 | (7 000 000; 9 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 | 244 000 000; +2950.00% :bangbang: | 8 000 000 | 8 020 000 | (7 000 000; 9 000 000) | 5 000 000 | 12 000 000 |
tests::custom_fee_multiplier_updated_per_block | 156 000 000; +1850.00% :bangbang: | 8 000 000 | 8 260 000 | (7 000 000; 9 000 000) | 5 000 000 | 12 000 000 |
tests::fee_rounding_error_bounded_by_multiplier | 241 000 000; +2912.50% :bangbang: | 8 000 000 | 7 930 000 | (7 000 000; 9 000 000) | 5 000 000 | 10 000 000 |
tests::mq_size_affecting_fee_works | 233 000 000; +2812.50% :bangbang: | 8 000 000 | 7 690 000 | (7 000 000; 9 000 000) | 5 000 000 | 10 000 000 |
tests::mq_size_not_affecting_fee_works | 210 000 000; +2900.00% :bangbang: | 7 000 000 | 7 400 000 | (7 000 000; 8 000 000) | 5 000 000 | 10 000 000 |
tests::query_info_and_fee_details_work | 226 000 000; +2725.00% :bangbang: | 8 000 000 | 7 260 000 | (7 000 000; 8 000 000) | 5 000 000 | 9 000 000 |
name = pallet-gear-program
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
mock::__construct_runtime_integrity_test::runtime_integrity_tests | 124 000 000; +1671.43% :bangbang: | 7 000 000 | 7 160 000 | (7 000 000; 8 000 000) | 5 000 000 | 9 000 000 |
tests::pause_program_twice_fails | 112 000 000; +1500.00% :bangbang: | 7 000 000 | 7 140 000 | (7 000 000; 8 000 000) | 5 000 000 | 9 000 000 |
tests::pause_program_works | 111 000 000; +1133.33% :bangbang: | 9 000 000 | 9 500 000 | (9 000 000; 10 000 000) | 8 000 000 | 11 000 000 |
tests::pause_terminated_program_fails | 111 000 000; +1485.71% :bangbang: | 7 000 000 | 6 670 000 | (6 000 000; 7 000 000) | 4 000 000 | 8 000 000 |
tests::pause_uninitialized_program_works | 110 000 000; +1122.22% :bangbang: | 9 000 000 | 9 510 000 | (9 000 000; 10 000 000) | 8 000 000 | 13 000 000 |
tests::resume_program_twice_fails | 109 000 000; +678.57% :bangbang: | 14 000 000 | 14 290 000 | (13 000 000; 15 000 000) | 12 000 000 | 18 000 000 |
tests::resume_program_wrong_list_fails | 143 000 000; +1200.00% :bangbang: | 11 000 000 | 11 830 000 | (11 000 000; 12 000 000) | 10 000 000 | 15 000 000 |
tests::resume_program_wrong_memory_fails | 98 000 000; +716.67% :bangbang: | 12 000 000 | 11 740 000 | (11 000 000; 12 000 000) | 10 000 000 | 15 000 000 |
tests::resume_uninitialized_program_works | 88 000 000; +633.33% :bangbang: | 12 000 000 | 12 320 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 | 100 000 000; +1900.00% :bangbang: | 5 000 000 | 4 900 000 | (5 000 000; 5 000 000) | 4 000 000 | 6 000 000 |
tests::gear_handles_outdated_tasks | 94 000 000; +1466.67% :bangbang: | 6 000 000 | 5 820 000 | (5 000 000; 6 000 000) | 4 000 000 | 8 000 000 |
tests::gear_handles_tasks | 102 000 000; +1754.55% :bangbang: | 5 500 000 | 5 530 000 | (5 000 000; 6 000 000) | 4 000 000 | 8 000 000 |
Runtime tests (values are in nanoseconds)
Total execution time
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Total time | 208 730 592 616; +133.11% :bangbang: | 89 542 070 228 | 89 552 144 159 | (89 391 323 402; 89 688 076 596) | 89 037 984 736 | 90 143 085 076 |
name = Async RwLock
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
check readers | 323 078 471; +285.54% :bangbang: | 83 797 962 | 85 483 093 | (80 205 522; 88 202 956) | 75 499 254 | 109 262 200 |
forever lock | 779 654 605; +790.28% :bangbang: | 87 574 376 | 89 328 651 | (84 914 588; 95 098 033) | 78 517 851 | 104 204 136 |
read while writing | 1 426 643 441; +1269.89% :bangbang: | 104 143 093 | 105 444 363 | (100 032 698; 110 225 812) | 91 349 612 | 129 732 428 |
rwlock wide | 2 111 664 058; +1563.20% :bangbang: | 126 964 100 | 128 060 673 | (120 077 146; 133 682 463) | 109 064 624 | 163 560 883 |
write while reading | 1 605 297 283; +1383.08% :bangbang: | 108 240 422 | 109 961 295 | (104 820 941; 113 456 449) | 93 173 035 | 150 628 156 |
name = Async init
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
approved pong | 12 680 282 926; +21.09% :bangbang: | 10 471 817 432 | 10 473 179 961 | (10 438 798 218; 10 505 988 398) | 10 356 713 779 | 10 633 466 860 |
name = Async-await
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
async-await | 1 836 040 631; +1288.36% :bangbang: | 132 245 196 | 135 055 189 | (126 901 413; 140 010 081) | 118 907 124 | 177 943 079 |
mutex | 937 238 077; +608.64% :bangbang: | 132 258 319 | 132 543 821 | (122 416 704; 138 567 820) | 113 716 842 | 178 225 571 |
rwlock-write | 1 852 551 637; +1337.99% :bangbang: | 128 828 818 | 131 209 569 | (122 557 537; 137 084 896) | 115 743 695 | 173 982 165 |
name = Async-duplicates-sync
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
async-duplicates-sync | 936 732 050; +918.06% :bangbang: | 92 011 439 | 92 939 309 | (88 181 667; 97 882 712) | 80 929 077 | 112 318 906 |
name = Async-multisig (well known cases)
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
2 of 3; bob & alice | 18 211 446 685; +264.14% :bangbang: | 5 001 268 032 | 4 996 911 979 | (4 970 121 601; 5 022 035 733) | 4 891 994 398 | 5 068 192 937 |
2 of 3; bob & eve | 6 175 544 678; +23.55% :bangbang: | 4 998 320 403 | 5 001 870 725 | (4 975 467 104; 5 022 039 088) | 4 932 600 988 | 5 086 741 308 |
2 of 3; eve & alice | 18 269 193 380; +265.89% :bangbang: | 4 993 057 034 | 4 991 859 625 | (4 970 316 488; 5 012 073 681) | 4 891 045 497 | 5 093 463 051 |
2 of 3; eve doesn't answer, alice replies with incorrect payload | 15 228 168 374; +207.21% :bangbang: | 4 956 933 538 | 4 950 018 962 | (4 931 450 902; 4 975 084 494) | 4 857 443 033 | 5 011 455 347 |
2 of 3; no replies | 6 510 530 399; +33.58% :bangbang: | 4 873 966 252 | 4 875 054 534 | (4 861 114 224; 4 895 829 087) | 4 789 852 689 | 4 965 836 284 |
Single signatory & zero threshold | 10 782 042 431; +117.82% :bangbang: | 4 950 032 426 | 4 949 373 500 | (4 927 076 581; 4 973 967 647) | 4 849 896 167 | 5 025 385 394 |
Three signatories & redundant threshold | 18 442 736 331; +265.92% :bangbang: | 5 040 046 676 | 5 039 377 212 | (5 017 187 866; 5 064 245 985) | 4 932 451 953 | 5 119 038 042 |
Three signatories; Bob replies with incorrect signature | 14 915 580 204; +200.96% :bangbang: | 4 955 985 791 | 4 953 770 113 | (4 932 557 523; 4 980 670 241) | 4 868 009 284 | 5 034 324 531 |
Three signatories; Eve doesn't answer, Alice replies with incorrect payload | 14 091 631 557; +184.54% :bangbang: | 4 952 481 101 | 4 952 358 566 | (4 925 489 427; 4 981 241 214) | 4 869 254 133 | 5 027 388 806 |
name = Async-sign (well known cases)
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
bad signature | 3 846 761 078; +56.22% :bangbang: | 2 462 476 884 | 2 463 508 632 | (2 448 238 574; 2 474 691 242) | 2 396 790 946 | 2 545 306 163 |
correct signature but for another message | 4 743 393 152; +88.67% :bangbang: | 2 514 144 107 | 2 514 981 215 | (2 491 066 706; 2 536 608 185) | 2 443 803 061 | 2 573 088 022 |
no reply | 3 849 980 552; +56.82% :bangbang: | 2 455 087 539 | 2 456 133 059 | (2 443 326 044; 2 471 416 822) | 2 415 905 629 | 2 507 463 198 |
signed message | 4 725 053 500; +87.84% :bangbang: | 2 515 507 256 | 2 516 193 896 | (2 497 016 515; 2 532 997 242) | 2 465 342 192 | 2 581 783 343 |
name = Asynchronous recursion
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
async-recursion | 2 436 719 276; +792.66% :bangbang: | 272 973 974 | 276 826 149 | (265 409 149; 283 798 085) | 255 112 343 | 328 068 844 |
name = Basic capacitor check
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Test charging/discharging | 322 164 008; +312.02% :bangbang: | 78 191 083 | 79 215 079 | (74 907 070; 82 343 010) | 66 970 468 | 96 492 802 |
name = Chat
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
chat | 699 048 952; +567.17% :bangbang: | 104 777 552 | 105 743 948 | (101 103 620; 107 946 638) | 90 628 550 | 138 491 058 |
name = Decoder
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
decoder | 96 724 734; +45.38% :bangbang: | 66 530 256 | 67 248 720 | (62 517 260; 70 832 577) | 53 873 154 | 85 801 103 |
name = Exit code
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
normal | 418 973 623; +459.19% :bangbang: | 74 925 007 | 76 398 211 | (71 710 557; 80 098 184) | 65 757 050 | 94 849 205 |
panic | 328 489 244; +360.58% :bangbang: | 71 320 402 | 71 250 105 | (65 107 303; 77 618 585) | 48 522 038 | 94 159 435 |
name = Futures-unordered
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
futures-unordered | 2 155 170 708; +1342.48% :bangbang: | 149 406 894 | 151 909 675 | (141 825 094; 157 585 063) | 134 118 394 | 194 253 471 |
join | 2 144 183 749; +1321.52% :bangbang: | 150 837 257 | 151 942 205 | (141 882 046; 159 248 213) | 134 502 451 | 185 622 185 |
select | 2 066 771 231; +1283.30% :bangbang: | 149 409 210 | 150 736 944 | (141 612 205; 156 182 092) | 129 360 585 | 186 495 412 |
name = Incomplete-async-payloads
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
incomplete-async-payloads | 2 016 287 805; +1445.88% :bangbang: | 130 429 719 | 133 206 027 | (125 036 644; 138 401 833) | 116 790 459 | 180 932 797 |
name = Memory test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Test for memory result | 373 963 725; +459.91% :bangbang: | 66 790 324 | 67 848 384 | (60 546 986; 74 403 393) | 54 200 693 | 87 852 805 |
name = Messages to failed program are handled properly
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
handle messages to failed program | 661 367 312; +723.73% :bangbang: | 80 288 845 | 81 500 855 | (76 866 296; 84 276 344) | 70 746 139 | 106 112 555 |
name = Meta ping (simple check)
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
meta check | 11 273 767 614; +15.82% :bangbang: | 9 734 265 848 | 9 735 186 014 | (9 708 027 269; 9 764 623 989) | 9 637 301 455 | 9 868 772 513 |
name = Multiping
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
multiping | 288 892 664; +370.85% :bangbang: | 61 354 952 | 62 232 513 | (56 362 616; 64 999 063) | 48 391 508 | 93 240 369 |
name = Ping-pong
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
ping-pong | 370 143 832; +502.27% :bangbang: | 61 458 423 | 63 058 640 | (58 291 158; 66 334 509) | 48 956 330 | 87 969 705 |
ping-pong wgas | 500 254 300; +603.85% :bangbang: | 71 074 314 | 71 810 859 | (66 907 788; 75 363 153) | 56 481 880 | 105 314 227 |
name = Program generator
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
program_generator | 360 364 057; +604.02% :bangbang: | 51 186 290 | 51 674 413 | (46 884 043; 56 244 033) | 41 003 656 | 67 656 161 |
name = Program_id test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
program_id | 246 967 984; +347.17% :bangbang: | 55 229 442 | 55 934 804 | (51 651 374; 59 219 236) | 46 706 356 | 75 209 972 |
name = State-rollback
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
state-rollback | 338 890 497; +403.90% :bangbang: | 67 254 125 | 68 717 058 | (62 963 115; 72 681 149) | 53 801 572 | 95 053 416 |
state-saving | 525 021 066; +684.45% :bangbang: | 66 928 188 | 67 841 135 | (63 037 725; 71 397 360) | 49 597 020 | 101 961 759 |
name = Test create_program sys-call
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Simple creation of program from program | 324 167 075; +411.92% :bangbang: | 63 323 933 | 63 872 182 | (59 473 237; 66 962 333) | 51 586 610 | 89 026 585 |
Try to re-init existing program | 472 714 763; +541.65% :bangbang: | 73 671 725 | 75 046 422 | (70 436 804; 77 539 190) | 62 685 190 | 97 817 927 |
name = Trap test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
Test for trap result | 129 635 065; +195.64% :bangbang: | 43 849 701 | 45 004 403 | (40 738 121; 48 645 901) | 35 970 036 | 59 016 955 |
name = Vector
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) | 871 848 973; +577.17% :bangbang: | 128 748 809 | 129 869 966 | (122 441 336; 134 546 950) | 112 010 619 | 161 127 038 |
name = Wait test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
wait | 629 359 392; +747.36% :bangbang: | 74 273 295 | 76 571 906 | (69 865 976; 84 052 595) | 55 967 347 | 100 965 400 |
name = basic
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
fibonacci-sum | 247 040 399; +204.02% :bangbang: | 81 257 046 | 82 576 803 | (78 216 368; 84 586 851) | 72 115 351 | 99 075 712 |
name = collector-1
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
collector pass 2 messages | 622 377 358; +719.93% :bangbang: | 75 906 552 | 75 103 434 | (70 515 226; 78 473 960) | 62 241 331 | 91 511 147 |
name = guestbook test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
guestbook | 5 982 909 651; +24.57% :bangbang: | 4 802 752 415 | 4 802 528 507 | (4 782 716 976; 4 830 590 928) | 4 688 840 432 | 4 881 270 298 |
name = gui test
name | current | median | average | lower/upper quartile | min | max |
---|---|---|---|---|---|---|
gui | 7 545 128 057; +16.67% :bangbang: | 6 467 117 299 | 6 466 670 832 | (6 443 002 807; 6 490 542 734) | 6 360 589 845 | 6 566 426 962 |
Codecov Report
Merging #1354 (f204053) into master (9c736ef) will decrease coverage by
4.92%
. The diff coverage isn/a
.
@@ Coverage Diff @@
## master #1354 +/- ##
==========================================
- Coverage 72.00% 67.07% -4.93%
==========================================
Files 110 110
Lines 10544 11320 +776
==========================================
+ Hits 7592 7593 +1
- Misses 2952 3727 +775
Impacted Files | Coverage Δ | |
---|---|---|
core/src/env.rs | 3.37% <0.00%> (-96.63%) |
:arrow_down: |
core-backend/common/src/utils.rs | 48.14% <0.00%> (-51.86%) |
:arrow_down: |
core-backend/sandbox/src/env.rs | 61.03% <0.00%> (-35.87%) |
:arrow_down: |
core-backend/wasmi/src/memory.rs | 56.66% <0.00%> (-24.29%) |
:arrow_down: |
core-backend/wasmi/src/env.rs | 57.53% <0.00%> (-22.47%) |
:arrow_down: |
core-backend/common/src/lib.rs | 50.00% <0.00%> (-21.43%) |
:arrow_down: |
core-backend/sandbox/src/memory.rs | 50.00% <0.00%> (-21.43%) |
:arrow_down: |
pallets/gear/src/ext.rs | 72.11% <0.00%> (-17.18%) |
:arrow_down: |
gtest/src/wasm_executor.rs | 82.00% <0.00%> (-14.86%) |
:arrow_down: |
pallets/gear/src/manager/journal.rs | 70.52% <0.00%> (-14.29%) |
:arrow_down: |
... and 32 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.