gear icon indicating copy to clipboard operation
gear copied to clipboard

Handle code re-instrumentation failure in process_queue

Open techraed opened this issue 1 year ago • 2 comments

Resolves #827.

The idea of the current solution is described in the issue's page. However, due to lack of type-level guarantees, that expecting re-instrumentation won't fail, we state another to be considered in the future task to make the solution infallible (see #1325).

  • Introduce test to protect instructions from being accidentally deleted in Rules::instruction_cost method implementation.

techraed avatar Aug 17 '22 09:08 techraed

d5c085abc2ad23e9c267d57a25f51fdaf839fadf
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 96 076 000 000; +2382.90% :bangbang: 3 869 500 000 4 443 709 999 (3 758 500 000; 3 996 000 000) 3 411 000 000 60 135 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 680 000 (8 000 000; 10 000 000) 7 000 000 18 000 000
tests::block_gas_limit_works 158 000 000; +887.50% :bangbang: 16 000 000 16 300 000 (15 000 000; 17 000 000) 10 000 000 23 000 000
tests::call_forbidden_function 157 000 000; +1021.43% :bangbang: 14 000 000 12 730 000 (10 000 000; 15 000 000) 8 000 000 18 000 000
tests::cascading_messages_with_value_do_not_overcharge 216 000 000; +278.95% :bangbang: 57 000 000 58 630 000 (55 000 000; 61 000 000) 52 000 000 77 000 000
tests::check_gear_stack_end_fail 155 000 000; +1007.14% :bangbang: 14 000 000 13 970 000 (13 000 000; 15 000 000) 9 000 000 18 000 000
tests::claim_value_works 141 000 000; +872.41% :bangbang: 14 500 000 14 580 000 (14 000 000; 15 000 000) 10 000 000 18 000 000
tests::defer_program_initialization 181 000 000; +524.14% :bangbang: 29 000 000 28 690 000 (26 000 000; 31 000 000) 21 000 000 40 000 000
tests::distributor_distribute 185 000 000; +740.91% :bangbang: 22 000 000 21 770 000 (20 500 000; 23 000 000) 16 000 000 30 000 000
tests::distributor_initialize 202 000 000; +1203.23% :bangbang: 15 500 000 16 160 000 (14 000 000; 18 000 000) 12 000 000 23 000 000
tests::events_logging_works 131 000 000; +835.71% :bangbang: 14 000 000 14 650 000 (13 000 000; 16 000 000) 10 000 000 23 000 000
tests::execution_over_blocks 432 000 000; +113.86% :bangbang: 202 000 000 203 100 000 (197 500 000; 207 000 000) 192 000 000 222 000 000
tests::exit_handle 106 000 000; +715.38% :bangbang: 13 000 000 13 300 000 (12 000 000; 14 000 000) 10 000 000 22 000 000
tests::exit_init 151 000 000; +738.89% :bangbang: 18 000 000 17 990 000 (16 000 000; 19 500 000) 12 000 000 25 000 000
tests::gas_spent_precalculated 170 000 000; +1207.69% :bangbang: 13 000 000 13 060 000 (12 000 000; 15 000 000) 9 000 000 21 000 000
tests::gas_spent_vs_balance 199 000 000; +423.68% :bangbang: 38 000 000 38 050 000 (35 500 000; 40 000 000) 31 000 000 55 000 000
tests::init_message_logging_works 152 000 000; +1166.67% :bangbang: 12 000 000 12 670 000 (11 000 000; 14 000 000) 9 000 000 18 000 000
tests::init_wait_reply_exit_cleaned_storage 131 000 000; +367.86% :bangbang: 28 000 000 28 450 000 (25 000 000; 31 000 000) 22 000 000 37 000 000
tests::lazy_pages 128 000 000; +884.62% :bangbang: 13 000 000 13 380 000 (11 000 000; 15 000 000) 9 000 000 20 000 000
tests::mailbox_rent_claimed 148 000 000; +722.22% :bangbang: 18 000 000 18 870 000 (17 000 000; 20 000 000) 13 000 000 28 000 000
tests::mailbox_rent_out_of_rent 147 000 000; +568.18% :bangbang: 22 000 000 22 170 000 (20 000 000; 24 000 000) 15 000 000 29 000 000
tests::mailbox_sending_instant_transfer 146 000 000; +711.11% :bangbang: 18 000 000 18 120 000 (16 000 000; 19 000 000) 12 000 000 27 000 000
tests::mailbox_threshold_works 148 000 000; +448.15% :bangbang: 27 000 000 26 970 000 (24 000 000; 30 000 000) 20 000 000 39 000 000
tests::mailbox_works 174 000 000; +1292.00% :bangbang: 12 500 000 12 800 000 (11 000 000; 14 000 000) 8 000 000 17 000 000
tests::memory_access_cases 126 000 000; +869.23% :bangbang: 13 000 000 13 510 000 (12 000 000; 15 000 000) 9 000 000 18 000 000
tests::messages_processing_works 102 000 000; +684.62% :bangbang: 13 000 000 12 700 000 (11 000 000; 14 000 000) 7 000 000 19 000 000
tests::messages_to_paused_program_skipped 151 000 000; +738.89% :bangbang: 18 000 000 17 700 000 (16 000 000; 19 000 000) 12 000 000 25 000 000
tests::messages_to_uninitialized_program_wait 125 000 000; +594.44% :bangbang: 18 000 000 17 780 000 (16 000 000; 20 000 000) 12 000 000 24 000 000
tests::missing_functions_are_not_executed 146 000 000; +1116.67% :bangbang: 12 000 000 12 570 000 (11 000 000; 14 000 000) 8 000 000 17 000 000
tests::missing_handle_is_not_executed 132 000 000; +1000.00% :bangbang: 12 000 000 11 940 000 (11 000 000; 13 000 000) 7 000 000 17 000 000
tests::no_redundant_gas_value_after_exiting 119 000 000; +891.67% :bangbang: 12 000 000 12 650 000 (11 000 000; 14 000 000) 9 000 000 23 000 000
tests::paused_program_keeps_id 136 000 000; +655.56% :bangbang: 18 000 000 17 860 000 (16 000 000; 19 000 000) 13 000 000 25 000 000
tests::program_lifecycle_works 159 000 000; +1225.00% :bangbang: 12 000 000 12 240 000 (11 000 000; 13 000 000) 7 000 000 21 000 000
tests::program_messages_to_paused_program_skipped 159 000 000; +536.00% :bangbang: 25 000 000 25 250 000 (24 000 000; 27 000 000) 19 000 000 29 000 000
tests::replies_to_paused_program_skipped 114 000 000; +533.33% :bangbang: 18 000 000 17 610 000 (15 000 000; 19 000 000) 13 000 000 24 000 000
tests::restrict_start_section 153 000 000; +1290.91% :bangbang: 11 000 000 10 950 000 (9 000 000; 12 000 000) 5 000 000 21 000 000
tests::resume_program_works 131 000 000; +403.85% :bangbang: 26 000 000 25 870 000 (24 000 000; 28 000 000) 21 000 000 33 000 000
tests::send_message_expected_failure 149 000 000; +1254.55% :bangbang: 11 000 000 11 710 000 (10 000 000; 13 000 000) 7 000 000 20 000 000
tests::send_message_works 96 000 000; +700.00% :bangbang: 12 000 000 12 070 000 (11 000 000; 13 000 000) 7 000 000 20 000 000
tests::send_reply_failure_to_claim_from_mailbox 143 000 000; +1091.67% :bangbang: 12 000 000 11 770 000 (10 000 000; 13 000 000) 6 000 000 19 000 000
tests::send_reply_value_claiming_works 120 000 000; +823.08% :bangbang: 13 000 000 12 530 000 (11 000 000; 14 000 000) 8 000 000 18 000 000
tests::send_reply_works 113 000 000; +841.67% :bangbang: 12 000 000 12 060 000 (10 500 000; 14 000 000) 8 000 000 17 000 000
tests::spent_gas_to_reward_block_author_works 105 000 000; +950.00% :bangbang: 10 000 000 10 280 000 (8 000 000; 13 000 000) 6 000 000 16 000 000
tests::test_async_messages 317 000 000; +141.98% :bangbang: 131 000 000 133 720 000 (129 000 000; 136 000 000) 126 000 000 159 000 000
tests::test_code_is_not_reset_within_program_submission 108 000 000; +1100.00% :bangbang: 9 000 000 10 130 000 (7 000 000; 13 000 000) 6 000 000 17 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 104 000 000; +940.00% :bangbang: 10 000 000 10 280 000 (7 000 000; 13 000 000) 6 000 000 16 000 000
tests::test_code_submission_pass 71 000 000; +647.37% :bangbang: 9 500 000 10 230 000 (7 000 000; 13 000 000) 6 000 000 17 000 000
tests::test_create_program_duplicate 106 000 000; +271.93% :bangbang: 28 500 000 28 490 000 (27 000 000; 30 000 000) 23 000 000 34 000 000
tests::test_create_program_duplicate_in_one_execution 105 000 000; +400.00% :bangbang: 21 000 000 21 040 000 (20 000 000; 22 000 000) 16 000 000 30 000 000
tests::test_create_program_miscellaneous 160 000 000; +400.00% :bangbang: 32 000 000 33 280 000 (32 000 000; 34 000 000) 30 000 000 43 000 000
tests::test_create_program_no_code_hash 120 000 000; +160.87% :bangbang: 46 000 000 47 510 000 (45 000 000; 48 000 000) 43 000 000 59 000 000
tests::test_create_program_simple 159 000 000; +367.65% :bangbang: 34 000 000 34 440 000 (33 000 000; 35 000 000) 31 000 000 42 000 000
tests::test_create_program_with_exceeding_value 81 000 000; +406.25% :bangbang: 16 000 000 16 030 000 (15 000 000; 17 500 000) 12 000 000 20 000 000
tests::test_create_program_with_value_lt_ed 119 000 000; +466.67% :bangbang: 21 000 000 20 980 000 (20 000 000; 22 000 000) 16 000 000 30 000 000
tests::test_create_program_without_gas_works 81 000 000; +440.00% :bangbang: 15 000 000 15 630 000 (14 000 000; 16 000 000) 12 000 000 21 000 000
tests::test_create_program_works 81 000 000; +224.00% :bangbang: 25 000 000 24 460 000 (22 000 000; 27 000 000) 19 000 000 30 000 000
tests::test_message_processing_for_non_existing_destination 118 000 000; +883.33% :bangbang: 12 000 000 11 300 000 (8 000 000; 14 000 000) 6 000 000 18 000 000
tests::test_reply_to_terminated_program 80 000 000; +433.33% :bangbang: 15 000 000 15 100 000 (14 000 000; 16 000 000) 10 000 000 20 000 000
tests::test_same_code_submission_fails 79 000 000; +887.50% :bangbang: 8 000 000 9 410 000 (7 000 000; 11 500 000) 6 000 000 17 000 000
tests::test_two_contracts_composition_works 182 000 000; +333.33% :bangbang: 42 000 000 43 680 000 (41 000 000; 44 000 000) 39 000 000 54 000 000
tests::uninitialized_program_should_accept_replies 112 000 000; +409.09% :bangbang: 22 000 000 22 100 000 (21 000 000; 23 000 000) 17 000 000 27 000 000
tests::unstoppable_block_execution_works 107 000 000; +664.29% :bangbang: 14 000 000 13 300 000 (12 500 000; 15 000 000) 8 000 000 17 000 000
tests::unused_gas_released_back_works 103 000 000; +692.31% :bangbang: 13 000 000 11 910 000 (9 000 000; 14 000 000) 6 000 000 17 000 000
tests::upload_program_expected_failure 140 000 000; +1233.33% :bangbang: 10 500 000 11 040 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::upload_program_fails_on_duplicate_id 101 000 000; +708.00% :bangbang: 12 500 000 11 600 000 (9 000 000; 14 000 000) 6 000 000 16 000 000
tests::wake_messages_after_program_inited 165 000 000; +312.50% :bangbang: 40 000 000 41 820 000 (39 000 000; 42 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 61 000 000; +577.78% :bangbang: 9 000 000 9 440 000 (8 000 000; 11 000 000) 5 000 000 21 000 000
tests::check_changed_pages_in_storage 61 000 000; +335.71% :bangbang: 14 000 000 13 750 000 (12 000 000; 15 000 000) 9 000 000 23 000 000
tests::check_gear_stack_end 60 000 000; +361.54% :bangbang: 13 000 000 12 450 000 (10 000 000; 14 000 000) 7 000 000 22 000 000
tests::check_not_allocated_pages 98 000 000; +600.00% :bangbang: 14 000 000 13 450 000 (12 000 000; 15 000 000) 8 000 000 22 000 000
tests::debug_mode_works 135 000 000; +864.29% :bangbang: 14 000 000 13 530 000 (12 000 000; 15 000 000) 8 000 000 22 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 268 000 000; +3250.00% :bangbang: 8 000 000 8 070 000 (7 000 000; 9 000 000) 5 000 000 11 000 000
tests::all_keys_are_cleared 264 000 000; +2833.33% :bangbang: 9 000 000 9 780 000 (8 000 000; 12 000 000) 6 000 000 21 000 000
tests::can_cut_nodes 265 000 000; +2844.44% :bangbang: 9 000 000 9 760 000 (8 000 000; 12 000 000) 6 000 000 15 000 000
tests::catch_value_all_blocked 264 000 000; +1930.77% :bangbang: 13 000 000 12 590 000 (9 500 000; 15 000 000) 7 000 000 20 000 000
tests::catch_value_all_catch 313 000 000; +3812.50% :bangbang: 8 000 000 9 460 000 (8 000 000; 11 500 000) 6 000 000 20 000 000
tests::gas_free_after_consumed 264 000 000; +3200.00% :bangbang: 8 000 000 8 260 000 (7 000 000; 8 500 000) 6 000 000 17 000 000
tests::limit_vs_origin 269 000 000; +2052.00% :bangbang: 12 500 000 11 760 000 (8 000 000; 14 000 000) 6 000 000 18 000 000
tests::lock_works 254 000 000; +2722.22% :bangbang: 9 000 000 10 540 000 (8 000 000; 14 000 000) 7 000 000 19 000 000
tests::long_chain 264 000 000; +2100.00% :bangbang: 12 000 000 11 160 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::simple_value_tree 263 000 000; +3657.14% :bangbang: 7 000 000 8 400 000 (7 000 000; 8 000 000) 5 000 000 18 000 000
tests::split_with_no_value 245 000 000; +1860.00% :bangbang: 12 500 000 10 880 000 (7 000 000; 14 000 000) 5 000 000 17 000 000
tests::splits_fail 244 000 000; +1776.92% :bangbang: 13 000 000 11 980 000 (9 000 000; 14 000 000) 6 000 000 17 000 000
tests::sub_nodes_tree_with_spends 262 000 000; +2178.26% :bangbang: 11 500 000 10 350 000 (7 000 000; 13 000 000) 5 000 000 15 000 000
tests::subtree_gas_limit_remains_intact 290 000 000; +2316.67% :bangbang: 12 000 000 11 280 000 (8 000 000; 14 000 000) 6 000 000 16 000 000
tests::test_consume_procedure_with_subnodes 262 000 000; +2083.33% :bangbang: 12 000 000 11 010 000 (8 000 000; 13 500 000) 6 000 000 15 000 000
tests::test_imbalances_drop 243 000 000; +3371.43% :bangbang: 7 000 000 7 340 000 (6 000 000; 8 000 000) 4 000 000 14 000 000
tests::value_tree_known_errors 260 000 000; +2788.89% :bangbang: 9 000 000 9 680 000 (7 000 000; 13 000 000) 5 000 000 16 000 000
tests::value_tree_with_all_kinds_of_nodes 237 000 000; +3285.71% :bangbang: 7 000 000 8 720 000 (7 000 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 277 000 000; +3857.14% :bangbang: 7 000 000 6 950 000 (6 000 000; 8 000 000) 4 000 000 13 000 000
tests::dequeued_impl_works_manually 279 000 000; +3885.71% :bangbang: 7 000 000 7 410 000 (6 000 000; 8 000 000) 5 000 000 13 000 000
tests::queue_processing_impl_works_manually 292 000 000; +3550.00% :bangbang: 8 000 000 7 620 000 (6 000 000; 8 000 000) 5 000 000 13 000 000
tests::queue_works 292 000 000; +4071.43% :bangbang: 7 000 000 7 560 000 (7 000 000; 8 000 000) 4 000 000 12 000 000
tests::sent_impl_works 291 000 000; +3537.50% :bangbang: 8 000 000 7 700 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 280 000 000; +3400.00% :bangbang: 8 000 000 7 740 000 (7 000 000; 9 000 000) 4 000 000 11 000 000
tests::custom_fee_multiplier_updated_per_block 291 000 000; +3537.50% :bangbang: 8 000 000 7 950 000 (7 000 000; 9 000 000) 5 000 000 12 000 000
tests::fee_rounding_error_bounded_by_multiplier 290 000 000; +3525.00% :bangbang: 8 000 000 8 050 000 (7 000 000; 9 000 000) 5 000 000 11 000 000
tests::mq_size_affecting_fee_works 271 000 000; +3287.50% :bangbang: 8 000 000 7 970 000 (7 000 000; 9 000 000) 4 000 000 10 000 000
tests::mq_size_not_affecting_fee_works 282 000 000; +3425.00% :bangbang: 8 000 000 7 820 000 (7 000 000; 9 000 000) 5 000 000 10 000 000
tests::query_info_and_fee_details_work 271 000 000; +3287.50% :bangbang: 8 000 000 7 530 000 (7 000 000; 8 000 000) 5 000 000 10 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; +1000.00% :bangbang: 7 000 000 7 230 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::pause_program_twice_fails 76 000 000; +985.71% :bangbang: 7 000 000 7 020 000 (7 000 000; 8 000 000) 5 000 000 9 000 000
tests::pause_program_works 77 000 000; +670.00% :bangbang: 10 000 000 9 850 000 (9 000 000; 10 000 000) 9 000 000 12 000 000
tests::pause_terminated_program_fails 76 000 000; +985.71% :bangbang: 7 000 000 6 710 000 (6 000 000; 7 000 000) 5 000 000 9 000 000
tests::pause_uninitialized_program_works 76 000 000; +660.00% :bangbang: 10 000 000 10 220 000 (10 000 000; 11 000 000) 9 000 000 12 000 000
tests::resume_program_twice_fails 76 000 000; +406.67% :bangbang: 15 000 000 14 810 000 (14 000 000; 15 000 000) 13 000 000 19 000 000
tests::resume_program_wrong_list_fails 41 000 000; +241.67% :bangbang: 12 000 000 12 610 000 (12 000 000; 13 000 000) 11 000 000 16 000 000
tests::resume_program_wrong_memory_fails 44 000 000; +266.67% :bangbang: 12 000 000 12 680 000 (12 000 000; 13 000 000) 10 000 000 16 000 000
tests::resume_uninitialized_program_works 41 000 000; +215.38% :bangbang: 13 000 000 13 140 000 (12 000 000; 13 500 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 70 000 000; +1300.00% :bangbang: 5 000 000 5 080 000 (5 000 000; 5 000 000) 4 000 000 7 000 000
tests::gear_handles_outdated_tasks 141 000 000; +2250.00% :bangbang: 6 000 000 6 430 000 (6 000 000; 7 000 000) 5 000 000 8 000 000
tests::gear_handles_tasks 68 000 000; +1033.33% :bangbang: 6 000 000 6 090 000 (6 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 188 878 435 968; +110.35% :bangbang: 89 790 612 950 89 788 507 782 (89 596 145 538; 89 952 632 841) 89 235 769 243 90 376 691 595

name = Async RwLock

name current median average lower/upper quartile min max
check readers 636 252 210; +659.92% :bangbang: 83 726 229 85 071 170 (80 208 617; 88 445 240) 75 485 253 104 431 781
forever lock 736 553 302; +740.21% :bangbang: 87 663 251 89 783 569 (84 709 789; 93 741 009) 79 498 613 108 508 618
read while writing 1 186 357 973; +1052.58% :bangbang: 102 930 398 104 058 408 (98 072 006; 108 354 856) 89 344 635 132 162 702
rwlock wide 1 506 920 383; +1094.14% :bangbang: 126 192 703 126 672 022 (119 636 654; 130 812 793) 109 772 305 162 797 562
write while reading 1 671 813 177; +1422.57% :bangbang: 109 802 168 110 493 744 (104 426 922; 115 812 427) 95 312 687 136 719 466

name = Async init

name current median average lower/upper quartile min max
approved pong 11 174 671 294; +6.53% :bangbang: 10 489 250 643 10 482 883 414 (10 441 322 000; 10 515 055 636) 10 337 996 786 10 666 662 955

name = Async-await

name current median average lower/upper quartile min max
async-await 2 066 426 820; +1445.07% :bangbang: 133 743 435 135 247 950 (126 568 427; 139 734 580) 115 683 072 177 560 923
mutex 2 073 545 325; +1478.66% :bangbang: 131 348 223 132 996 390 (124 400 831; 138 368 305) 115 648 287 168 080 182
rwlock-write 1 969 184 878; +1370.71% :bangbang: 133 893 400 135 305 027 (127 002 996; 140 734 510) 118 447 125 174 048 434

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 947 275 300; +941.13% :bangbang: 90 985 520 92 241 352 (87 225 995; 95 118 306) 80 491 535 120 842 253

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 20 352 364 183; +305.46% :bangbang: 5 019 542 693 5 014 959 763 (4 984 319 104; 5 040 905 978) 4 930 616 944 5 103 462 391
2 of 3; bob & eve 19 491 814 335; +288.40% :bangbang: 5 018 453 947 5 014 861 420 (4 990 844 388; 5 043 891 844) 4 919 540 362 5 096 120 538
2 of 3; eve & alice 20 326 449 683; +305.30% :bangbang: 5 015 132 824 5 014 839 503 (4 989 675 363; 5 036 597 529) 4 899 607 056 5 138 343 714
2 of 3; eve doesn't answer, alice replies with incorrect payload 5 712 366 487; +14.98% :bangbang: 4 968 031 216 4 969 355 483 (4 945 441 093; 4 995 119 706) 4 879 261 765 5 045 583 206
2 of 3; no replies 6 615 009 559; +35.19% :bangbang: 4 893 166 629 4 891 139 905 (4 870 413 775; 4 909 604 630) 4 779 874 818 4 993 399 321
Single signatory & zero threshold 15 849 472 500; +219.02% :bangbang: 4 968 194 647 4 962 226 186 (4 930 157 581; 4 991 178 038) 4 852 990 660 5 055 008 992
Three signatories & redundant threshold 5 986 935 164; +18.26% :bangbang: 5 062 522 276 5 060 532 743 (5 038 581 612; 5 082 293 614) 4 983 298 302 5 126 614 835
Three signatories; Bob replies with incorrect signature 6 577 189 664; +32.24% :bangbang: 4 973 778 035 4 972 220 075 (4 949 129 858; 5 000 835 034) 4 867 606 100 5 070 779 676
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 6 228 190 917; +25.15% :bangbang: 4 976 501 597 4 978 070 339 (4 953 307 166; 4 996 282 457) 4 886 082 719 5 265 004 489

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 577 953 431; +44.83% :bangbang: 2 470 437 489 2 470 954 607 (2 453 578 555; 2 484 900 334) 2 426 988 412 2 515 704 326
correct signature but for another message 3 602 102 468; +43.15% :bangbang: 2 516 284 504 2 518 274 426 (2 497 404 292; 2 541 037 319) 2 435 946 128 2 583 372 876
no reply 3 369 115 855; +37.30% :bangbang: 2 453 887 284 2 457 051 542 (2 440 445 121; 2 470 130 097) 2 409 375 377 2 528 443 066
signed message 3 893 062 078; +54.67% :bangbang: 2 517 011 735 2 520 115 084 (2 504 075 958; 2 534 526 524) 2 459 314 665 2 596 235 140

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 2 996 707 280; +983.20% :bangbang: 276 652 770 279 409 022 (270 308 057; 285 601 835) 256 765 206 316 057 822

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 633 593 569; +715.91% :bangbang: 77 655 000 78 364 095 (73 715 658; 81 764 814) 66 251 339 104 464 702

name = Chat

name current median average lower/upper quartile min max
chat 1 642 717 199; +1455.61% :bangbang: 105 599 316 107 009 239 (100 686 653; 112 612 690) 92 419 405 138 880 478

name = Decoder

name current median average lower/upper quartile min max
decoder 297 440 368; +340.28% :bangbang: 67 557 073 67 548 247 (63 450 880; 71 840 578) 52 941 807 82 841 636

name = Exit code

name current median average lower/upper quartile min max
normal 287 960 477; +281.81% :bangbang: 75 420 449 75 673 018 (72 497 652; 79 088 850) 50 448 240 92 696 579
panic 281 125 049; +299.01% :bangbang: 70 455 840 69 842 557 (61 633 592; 76 098 026) 50 909 080 97 360 821

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 585 950 713; +1618.75% :bangbang: 150 455 502 154 491 428 (144 180 178; 161 008 467) 134 237 273 199 933 835
join 2 568 902 716; +1571.07% :bangbang: 153 728 362 154 883 970 (144 720 800; 160 866 896) 132 157 055 193 306 365
select 2 417 663 095; +1518.95% :bangbang: 149 335 107 150 999 931 (141 519 590; 156 855 695) 126 172 929 187 572 384

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 152 412 104; +1540.62% :bangbang: 131 195 383 133 135 830 (124 621 861; 138 056 416) 115 795 978 171 641 036

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 286 939 935; +333.67% :bangbang: 66 165 723 67 326 476 (60 590 052; 73 226 920) 51 986 717 91 805 783

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 586 465 866; +628.98% :bangbang: 80 449 851 81 708 370 (76 915 060; 84 846 030) 71 032 926 101 121 544

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 10 181 478 201; +4.60% :bangbang: 9 733 767 691 9 738 336 057 (9 710 019 223; 9 765 899 304) 9 615 355 142 9 857 931 630

name = Multiping

name current median average lower/upper quartile min max
multiping 225 610 693; +270.36% :bangbang: 60 916 987 62 762 608 (57 414 202; 67 618 853) 49 291 053 91 164 760

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 276 731 716; +348.75% :bangbang: 61 667 664 62 508 851 (57 908 266; 65 955 230) 44 403 635 95 191 099
ping-pong wgas 14 830 087; -79.16% :heavy_check_mark: 71 178 073 71 320 159 (67 342 847; 75 194 286) 55 266 870 87 767 652

name = Program generator

name current median average lower/upper quartile min max
program_generator 72 544 607; +46.83% :exclamation: 49 407 710 50 668 041 (45 514 910; 54 809 617) 34 165 800 74 072 928

name = Program_id test

name current median average lower/upper quartile min max
program_id 193 321 987; +246.65% :bangbang: 55 768 240 56 258 966 (53 120 290; 59 160 594) 41 997 502 71 134 700

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 490 202 084; +614.71% :bangbang: 68 587 429 70 384 578 (64 251 363; 73 967 762) 54 843 924 96 934 239
state-saving 480 109 947; +621.10% :bangbang: 66 579 866 68 270 371 (61 713 709; 72 204 223) 53 423 162 95 002 903

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 246 554 275; +294.74% :bangbang: 62 460 099 62 584 645 (57 166 527; 66 366 099) 48 416 697 87 642 859
Try to re-init existing program 46 144 455; -37.81% :heavy_check_mark: 74 202 704 74 735 863 (70 269 568; 77 863 848) 64 381 747 91 180 018

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 135 580 263; +217.33% :bangbang: 42 724 727 44 057 635 (40 044 038; 48 054 244) 35 764 038 55 162 010

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 731 049 559; +451.81% :bangbang: 132 482 020 133 460 815 (124 207 823; 142 500 512) 112 562 576 193 013 569

name = Wait test

name current median average lower/upper quartile min max
wait 579 402 112; +658.30% :bangbang: 76 408 392 77 420 960 (68 289 878; 85 068 666) 56 708 724 100 079 067

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 556 496 051; +582.14% :bangbang: 81 581 258 82 488 071 (78 820 651; 86 788 582) 70 873 517 96 277 766

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 41 231 493; -44.81% :heavy_check_mark: 74 711 716 75 133 070 (72 230 681; 77 774 255) 62 022 791 87 047 658

name = guestbook test

name current median average lower/upper quartile min max
guestbook 5 087 068 257; +5.46% :bangbang: 4 823 817 290 4 818 397 078 (4 791 935 756; 4 844 770 336) 4 714 323 728 4 912 766 439

name = gui test

name current median average lower/upper quartile min max
gui 7 231 174 822; +11.54% :bangbang: 6 483 254 233 6 479 973 684 (6 459 561 446; 6 507 012 102) 6 352 399 681 6 562 505 932
fdd0353cfb3f53f0de16c25a862f0beaa00d12d8
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 76 786 000 000; +1846.17% :bangbang: 3 945 500 000 4 365 669 999 (3 773 000 000; 4 056 500 000) 3 544 000 000 48 330 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 171 000 000; +1800.00% :bangbang: 9 000 000 9 830 000 (8 000 000; 11 000 000) 7 000 000 16 000 000
tests::block_gas_limit_works 88 000 000; +450.00% :bangbang: 16 000 000 16 540 000 (16 000 000; 17 000 000) 11 000 000 23 000 000
tests::calculate_gas_info_for_wait_dispatch_works 97 000 000; +304.17% :bangbang: 24 000 000 24 750 000 (22 000 000; 26 000 000) 17 000 000 35 000 000
tests::calculate_init_gas 96 000 000; +357.14% :bangbang: 21 000 000 20 830 000 (18 000 000; 23 000 000) 15 000 000 31 000 000
tests::call_forbidden_function 104 000 000; +642.86% :bangbang: 14 000 000 13 410 000 (12 000 000; 15 000 000) 8 000 000 18 000 000
tests::cascading_messages_with_value_do_not_overcharge 169 000 000; +191.38% :bangbang: 58 000 000 59 390 000 (56 000 000; 63 000 000) 54 000 000 72 000 000
tests::check_gear_stack_end_fail 181 000 000; +1192.86% :bangbang: 14 000 000 13 670 000 (13 000 000; 15 000 000) 8 000 000 21 000 000
tests::check_gr_read_error_works 105 000 000; +650.00% :bangbang: 14 000 000 13 290 000 (12 000 000; 15 000 000) 8 000 000 22 000 000
tests::claim_value_works 180 000 000; +1185.71% :bangbang: 14 000 000 14 260 000 (13 000 000; 15 000 000) 10 000 000 22 000 000
tests::defer_program_initialization 104 000 000; +271.43% :bangbang: 28 000 000 28 140 000 (26 000 000; 30 000 000) 22 000 000 38 000 000
tests::distributor_distribute 94 000 000; +327.27% :bangbang: 22 000 000 21 840 000 (20 000 000; 23 000 000) 16 000 000 31 000 000
tests::distributor_initialize 80 000 000; +416.13% :bangbang: 15 500 000 16 000 000 (14 000 000; 18 000 000) 11 000 000 23 000 000
tests::events_logging_works 181 000 000; +1192.86% :bangbang: 14 000 000 14 790 000 (13 000 000; 16 000 000) 11 000 000 21 000 000
tests::execution_over_blocks 501 000 000; +155.61% :bangbang: 196 000 000 198 730 000 (193 000 000; 203 000 000) 187 000 000 221 000 000
tests::exit_handle 78 000 000; +524.00% :bangbang: 12 500 000 13 060 000 (12 000 000; 14 000 000) 8 000 000 21 000 000
tests::exit_init 78 000 000; +333.33% :bangbang: 18 000 000 17 410 000 (16 000 000; 19 000 000) 12 000 000 26 000 000
tests::exit_locking_funds 117 000 000; +485.00% :bangbang: 20 000 000 20 270 000 (18 500 000; 21 000 000) 16 000 000 28 000 000
tests::free_storage_hold_on_scheduler_overwhelm 162 000 000; +710.00% :bangbang: 20 000 000 20 530 000 (19 000 000; 22 000 000) 16 000 000 28 000 000
tests::gas_spent_precalculated 178 000 000; +1269.23% :bangbang: 13 000 000 13 060 000 (12 000 000; 14 000 000) 8 000 000 21 000 000
tests::gas_spent_vs_balance 193 000 000; +421.62% :bangbang: 37 000 000 37 800 000 (35 000 000; 40 000 000) 30 000 000 48 000 000
tests::init_message_logging_works 76 000 000; +533.33% :bangbang: 12 000 000 12 110 000 (11 000 000; 13 000 000) 8 000 000 18 000 000
tests::init_wait_reply_exit_cleaned_storage 115 000 000; +325.93% :bangbang: 27 000 000 27 440 000 (25 000 000; 29 000 000) 21 000 000 35 000 000
tests::initial_pages_cheaper_than_allocated_pages 213 000 000; +153.57% :bangbang: 84 000 000 85 780 000 (82 000 000; 89 000 000) 79 000 000 101 000 000
tests::lazy_pages 92 000 000; +607.69% :bangbang: 13 000 000 13 060 000 (12 000 000; 14 000 000) 8 000 000 18 000 000
tests::locking_gas_for_waitlist 105 000 000; +337.50% :bangbang: 24 000 000 23 790 000 (22 000 000; 26 000 000) 18 000 000 33 000 000
tests::mailbox_rent_claimed 91 000 000; +435.29% :bangbang: 17 000 000 17 450 000 (15 000 000; 19 500 000) 12 000 000 25 000 000
tests::mailbox_rent_out_of_rent 97 000 000; +373.17% :bangbang: 20 500 000 20 730 000 (19 000 000; 22 000 000) 15 000 000 35 000 000
tests::mailbox_sending_instant_transfer 132 000 000; +725.00% :bangbang: 16 000 000 16 410 000 (14 000 000; 18 000 000) 12 000 000 24 000 000
tests::mailbox_threshold_works 97 000 000; +273.08% :bangbang: 26 000 000 26 530 000 (25 000 000; 29 000 000) 19 000 000 33 000 000
tests::mailbox_works 77 000 000; +492.31% :bangbang: 13 000 000 12 510 000 (11 000 000; 13 000 000) 8 000 000 21 000 000
tests::memory_access_cases 89 000 000; +641.67% :bangbang: 12 000 000 12 720 000 (11 000 000; 13 500 000) 8 000 000 21 000 000
tests::messages_processing_works 189 000 000; +1475.00% :bangbang: 12 000 000 12 510 000 (11 000 000; 13 000 000) 7 000 000 21 000 000
tests::messages_to_paused_program_skipped 111 000 000; +516.67% :bangbang: 18 000 000 17 610 000 (16 000 000; 19 000 000) 12 000 000 29 000 000
tests::messages_to_uninitialized_program_wait 86 000 000; +377.78% :bangbang: 18 000 000 17 640 000 (16 000 000; 19 000 000) 12 000 000 27 000 000
tests::missing_functions_are_not_executed 86 000 000; +616.67% :bangbang: 12 000 000 12 170 000 (10 000 000; 13 000 000) 9 000 000 20 000 000
tests::missing_handle_is_not_executed 171 000 000; +1325.00% :bangbang: 12 000 000 11 790 000 (10 000 000; 13 000 000) 7 000 000 20 000 000
tests::no_redundant_gas_value_after_exiting 170 000 000; +1316.67% :bangbang: 12 000 000 12 480 000 (11 000 000; 13 500 000) 8 000 000 19 000 000
tests::paused_program_keeps_id 86 000 000; +377.78% :bangbang: 18 000 000 17 450 000 (15 000 000; 19 000 000) 12 000 000 28 000 000
tests::program_lifecycle_works 186 000 000; +1450.00% :bangbang: 12 000 000 11 540 000 (10 000 000; 13 000 000) 7 000 000 18 000 000
tests::program_messages_to_paused_program_skipped 95 000 000; +280.00% :bangbang: 25 000 000 24 660 000 (23 000 000; 27 000 000) 19 000 000 30 000 000
tests::replies_to_paused_program_skipped 166 000 000; +937.50% :bangbang: 16 000 000 16 530 000 (14 000 000; 19 000 000) 12 000 000 27 000 000
tests::restrict_start_section 77 000 000; +862.50% :bangbang: 8 000 000 9 340 000 (7 000 000; 12 000 000) 5 000 000 17 000 000
tests::resume_program_works 134 000 000; +415.38% :bangbang: 26 000 000 25 330 000 (23 000 000; 27 000 000) 19 000 000 32 000 000
tests::send_message_expected_failure 93 000 000; +615.38% :bangbang: 13 000 000 12 150 000 (9 000 000; 14 000 000) 7 000 000 26 000 000
tests::send_message_works 91 000 000; +600.00% :bangbang: 13 000 000 12 320 000 (10 500 000; 14 000 000) 7 000 000 27 000 000
tests::send_reply_failure_to_claim_from_mailbox 156 000 000; +1100.00% :bangbang: 13 000 000 12 460 000 (11 000 000; 14 000 000) 6 000 000 22 000 000
tests::send_reply_value_claiming_works 142 000 000; +992.31% :bangbang: 13 000 000 13 730 000 (12 500 000; 15 000 000) 8 000 000 23 000 000
tests::send_reply_works 130 000 000; +900.00% :bangbang: 13 000 000 13 120 000 (12 000 000; 14 000 000) 6 000 000 25 000 000
tests::spent_gas_to_reward_block_author_works 121 000 000; +908.33% :bangbang: 12 000 000 11 360 000 (8 000 000; 13 000 000) 6 000 000 21 000 000
tests::terminated_locking_funds 121 000 000; +171.91% :bangbang: 44 500 000 46 000 000 (43 000 000; 49 000 000) 41 000 000 54 000 000
tests::test_async_messages 364 000 000; +180.00% :bangbang: 130 000 000 131 650 000 (128 000 000; 134 000 000) 125 000 000 152 000 000
tests::test_code_is_not_reset_within_program_submission 139 000 000; +1637.50% :bangbang: 8 000 000 10 100 000 (7 000 000; 13 000 000) 6 000 000 20 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 117 000 000; +963.64% :bangbang: 11 000 000 10 350 000 (7 000 000; 13 000 000) 6 000 000 20 000 000
tests::test_code_submission_pass 116 000 000; +1350.00% :bangbang: 8 000 000 9 680 000 (7 000 000; 12 000 000) 6 000 000 21 000 000
tests::test_create_program_duplicate 107 000 000; +268.97% :bangbang: 29 000 000 28 800 000 (26 500 000; 31 000 000) 23 000 000 36 000 000
tests::test_create_program_duplicate_in_one_execution 151 000 000; +619.05% :bangbang: 21 000 000 21 030 000 (20 000 000; 22 000 000) 17 000 000 27 000 000
tests::test_create_program_miscellaneous 102 000 000; +200.00% :bangbang: 34 000 000 34 090 000 (33 000 000; 35 000 000) 30 000 000 41 000 000
tests::test_create_program_no_code_hash 102 000 000; +117.02% :bangbang: 47 000 000 48 430 000 (45 000 000; 51 000 000) 43 000 000 58 000 000
tests::test_create_program_simple 118 000 000; +247.06% :bangbang: 34 000 000 34 760 000 (33 000 000; 35 000 000) 32 000 000 42 000 000
tests::test_create_program_with_exceeding_value 122 000 000; +662.50% :bangbang: 16 000 000 16 070 000 (15 000 000; 17 000 000) 12 000 000 21 000 000
tests::test_create_program_with_value_lt_ed 104 000 000; +395.24% :bangbang: 21 000 000 20 920 000 (19 000 000; 22 000 000) 15 000 000 31 000 000
tests::test_create_program_without_gas_works 104 000 000; +593.33% :bangbang: 15 000 000 15 780 000 (15 000 000; 16 000 000) 13 000 000 24 000 000
tests::test_create_program_works 120 000 000; +410.64% :bangbang: 23 500 000 24 090 000 (22 000 000; 26 000 000) 19 000 000 32 000 000
tests::test_different_waits_fail 120 000 000; +224.32% :bangbang: 37 000 000 38 360 000 (36 000 000; 39 000 000) 34 000 000 47 000 000
tests::test_different_waits_success 103 000 000; +255.17% :bangbang: 29 000 000 29 150 000 (28 000 000; 30 000 000) 26 000 000 34 000 000
tests::test_message_processing_for_non_existing_destination 94 000 000; +683.33% :bangbang: 12 000 000 11 280 000 (8 000 000; 14 000 000) 6 000 000 21 000 000
tests::test_reply_to_terminated_program 97 000 000; +546.67% :bangbang: 15 000 000 15 040 000 (14 000 000; 16 000 000) 10 000 000 25 000 000
tests::test_same_code_submission_fails 113 000 000; +1155.56% :bangbang: 9 000 000 9 900 000 (7 000 000; 13 000 000) 5 000 000 20 000 000
tests::test_two_contracts_composition_works 97 000 000; +125.58% :bangbang: 43 000 000 45 010 000 (42 000 000; 48 500 000) 40 000 000 56 000 000
tests::uninitialized_program_should_accept_replies 96 000 000; +336.36% :bangbang: 22 000 000 22 900 000 (21 000 000; 25 500 000) 19 000 000 28 000 000
tests::uninitialized_program_zero_gas 141 000 000; +781.25% :bangbang: 16 000 000 16 780 000 (14 000 000; 19 000 000) 12 000 000 27 000 000
tests::unstoppable_block_execution_works 91 000 000; +600.00% :bangbang: 13 000 000 13 260 000 (13 000 000; 14 000 000) 9 000 000 20 000 000
tests::unused_gas_released_back_works 87 000 000; +569.23% :bangbang: 13 000 000 12 190 000 (10 000 000; 14 000 000) 7 000 000 19 000 000
tests::upload_program_expected_failure 78 000 000; +680.00% :bangbang: 10 000 000 10 510 000 (9 000 000; 12 000 000) 6 000 000 20 000 000
tests::upload_program_fails_on_duplicate_id 77 000 000; +670.00% :bangbang: 10 000 000 10 790 000 (9 000 000; 13 000 000) 8 000 000 18 000 000
tests::wake_messages_after_program_inited 130 000 000; +217.07% :bangbang: 41 000 000 42 800 000 (40 000 000; 44 000 000) 38 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 69 000 000; +666.67% :bangbang: 9 000 000 8 890 000 (8 000 000; 9 500 000) 6 000 000 15 000 000
tests::check_changed_pages_in_storage 66 000 000; +407.69% :bangbang: 13 000 000 13 140 000 (12 000 000; 15 000 000) 9 000 000 17 000 000
tests::check_gear_stack_end 79 000 000; +558.33% :bangbang: 12 000 000 11 490 000 (9 000 000; 14 000 000) 7 000 000 16 000 000
tests::check_not_allocated_pages 53 000 000; +307.69% :bangbang: 13 000 000 13 010 000 (12 000 000; 15 000 000) 8 000 000 17 000 000
tests::debug_mode_works 81 000 000; +523.08% :bangbang: 13 000 000 13 220 000 (12 000 000; 15 000 000) 7 000 000 21 000 000

name = pallet-gear-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 334 000 000; +4075.00% :bangbang: 8 000 000 8 400 000 (7 000 000; 9 000 000) 5 000 000 16 000 000
tests::all_keys_are_cleared 209 000 000; +2222.22% :bangbang: 9 000 000 9 750 000 (8 000 000; 12 000 000) 6 000 000 16 000 000
tests::can_cut_nodes 254 000 000; +2722.22% :bangbang: 9 000 000 10 250 000 (8 000 000; 13 000 000) 6 000 000 18 000 000
tests::catch_value_all_blocked 235 000 000; +1707.69% :bangbang: 13 000 000 13 050 000 (12 000 000; 14 000 000) 7 000 000 22 000 000
tests::catch_value_all_catch 333 000 000; +4062.50% :bangbang: 8 000 000 9 520 000 (7 000 000; 12 000 000) 6 000 000 20 000 000
tests::gas_free_after_consumed 335 000 000; +4685.71% :bangbang: 7 000 000 8 590 000 (7 000 000; 10 000 000) 5 000 000 16 000 000
tests::limit_vs_origin 347 000 000; +2569.23% :bangbang: 13 000 000 12 520 000 (11 000 000; 14 000 000) 6 000 000 20 000 000
tests::lock_works 351 000 000; +2825.00% :bangbang: 12 000 000 11 400 000 (7 500 000; 13 500 000) 6 000 000 20 000 000
tests::long_chain 334 000 000; +2469.23% :bangbang: 13 000 000 11 830 000 (8 000 000; 14 000 000) 6 000 000 19 000 000
tests::simple_value_tree 294 000 000; +4100.00% :bangbang: 7 000 000 8 610 000 (6 000 000; 12 000 000) 5 000 000 18 000 000
tests::split_with_no_value 340 000 000; +2733.33% :bangbang: 12 000 000 11 300 000 (8 000 000; 13 000 000) 6 000 000 18 000 000
tests::splits_fail 335 000 000; +2691.67% :bangbang: 12 000 000 11 330 000 (8 000 000; 13 000 000) 4 000 000 20 000 000
tests::sub_nodes_tree_with_spends 321 000 000; +3466.67% :bangbang: 9 000 000 9 880 000 (7 000 000; 12 000 000) 5 000 000 18 000 000
tests::subtree_gas_limit_remains_intact 322 000 000; +2827.27% :bangbang: 11 000 000 10 620 000 (7 000 000; 13 000 000) 5 000 000 18 000 000
tests::test_consume_procedure_with_subnodes 304 000 000; +2663.64% :bangbang: 11 000 000 10 150 000 (7 000 000; 12 000 000) 5 000 000 17 000 000
tests::test_imbalances_drop 304 000 000; +4242.86% :bangbang: 7 000 000 7 130 000 (6 000 000; 8 000 000) 4 000 000 15 000 000
tests::value_tree_known_errors 304 000 000; +3953.33% :bangbang: 7 500 000 8 540 000 (7 000 000; 11 000 000) 4 000 000 15 000 000
tests::value_tree_with_all_kinds_of_nodes 323 000 000; +3937.50% :bangbang: 8 000 000 8 540 000 (7 000 000; 10 000 000) 4 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; +3912.50% :bangbang: 8 000 000 8 450 000 (7 000 000; 9 500 000) 5 000 000 14 000 000
tests::dequeued_impl_works_manually 302 000 000; +3675.00% :bangbang: 8 000 000 8 290 000 (7 000 000; 9 000 000) 5 000 000 14 000 000
tests::queue_processing_impl_works_manually 317 000 000; +3862.50% :bangbang: 8 000 000 8 250 000 (7 000 000; 9 000 000) 5 000 000 14 000 000
tests::queue_works 302 000 000; +4214.29% :bangbang: 7 000 000 7 660 000 (7 000 000; 8 000 000) 5 000 000 13 000 000
tests::sent_impl_works 333 000 000; +4657.14% :bangbang: 7 000 000 7 480 000 (6 000 000; 8 000 000) 4 000 000 12 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 301 000 000; +4200.00% :bangbang: 7 000 000 7 280 000 (6 000 000; 8 000 000) 4 000 000 11 000 000
tests::custom_fee_multiplier_updated_per_block 327 000 000; +4571.43% :bangbang: 7 000 000 7 440 000 (6 000 000; 8 500 000) 4 000 000 11 000 000
tests::fee_rounding_error_bounded_by_multiplier 325 000 000; +3962.50% :bangbang: 8 000 000 7 660 000 (7 000 000; 9 000 000) 5 000 000 11 000 000
tests::mq_size_affecting_fee_works 300 000 000; +4185.71% :bangbang: 7 000 000 7 480 000 (6 000 000; 8 000 000) 5 000 000 11 000 000
tests::mq_size_not_affecting_fee_works 300 000 000; +4185.71% :bangbang: 7 000 000 7 350 000 (6 000 000; 8 000 000) 4 000 000 11 000 000
tests::query_info_and_fee_details_work 300 000 000; +4185.71% :bangbang: 7 000 000 7 270 000 (6 000 000; 8 000 000) 5 000 000 10 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 93 000 000; +1228.57% :bangbang: 7 000 000 7 090 000 (6 000 000; 8 000 000) 4 000 000 10 000 000
tests::pause_program_twice_fails 63 000 000; +800.00% :bangbang: 7 000 000 7 140 000 (6 000 000; 8 000 000) 5 000 000 10 000 000
tests::pause_program_works 91 000 000; +810.00% :bangbang: 10 000 000 10 070 000 (9 000 000; 10 500 000) 9 000 000 14 000 000
tests::pause_terminated_program_fails 118 000 000; +1585.71% :bangbang: 7 000 000 6 820 000 (6 000 000; 7 000 000) 4 000 000 11 000 000
tests::pause_uninitialized_program_works 157 000 000; +1470.00% :bangbang: 10 000 000 10 130 000 (10 000 000; 11 000 000) 9 000 000 13 000 000
tests::resume_program_twice_fails 104 000 000; +593.33% :bangbang: 15 000 000 14 910 000 (14 000 000; 15 000 000) 13 000 000 19 000 000
tests::resume_program_wrong_list_fails 94 000 000; +683.33% :bangbang: 12 000 000 12 400 000 (12 000 000; 13 000 000) 10 000 000 15 000 000
tests::resume_program_wrong_memory_fails 147 000 000; +1125.00% :bangbang: 12 000 000 12 190 000 (11 000 000; 13 000 000) 10 000 000 16 000 000
tests::resume_uninitialized_program_works 149 000 000; +1046.15% :bangbang: 13 000 000 12 770 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 239 000 000; +4680.00% :bangbang: 5 000 000 5 140 000 (5 000 000; 5 000 000) 4 000 000 8 000 000
tests::gear_handles_outdated_tasks 214 000 000; +3466.67% :bangbang: 6 000 000 6 030 000 (6 000 000; 6 000 000) 5 000 000 8 000 000
tests::gear_handles_tasks 123 000 000; +1950.00% :bangbang: 6 000 000 5 710 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 325 594 032 702; +262.10% :bangbang: 89 918 427 786 89 960 802 047 (89 785 731 572; 90 112 847 927) 89 491 083 561 90 825 672 414

name = Async RwLock

name current median average lower/upper quartile min max
check readers 638 105 083; +678.36% :bangbang: 81 980 659 83 601 385 (79 471 152; 87 889 270) 68 547 343 106 558 142
forever lock 944 240 292; +995.31% :bangbang: 86 207 222 87 609 474 (83 386 214; 90 019 535) 74 956 956 109 483 367
read while writing 1 636 898 293; +1514.13% :bangbang: 101 410 477 102 338 257 (97 439 680; 104 959 001) 90 473 130 123 066 248
rwlock wide 2 264 977 490; +1740.44% :bangbang: 123 066 884 124 386 046 (116 220 722; 129 689 212) 109 912 984 169 082 237
write while reading 1 655 402 222; +1473.86% :bangbang: 105 180 779 105 371 194 (100 049 919; 108 513 408) 88 143 612 127 627 688

name = Async init

name current median average lower/upper quartile min max
approved pong 11 068 986 046; +5.60% :bangbang: 10 482 191 122 10 476 829 036 (10 437 872 885; 10 515 351 532) 10 359 752 924 10 574 308 431

name = Async-await

name current median average lower/upper quartile min max
async-await 2 037 282 637; +1451.98% :bangbang: 131 270 055 133 310 654 (124 689 807; 138 483 037) 116 099 823 178 533 847
mutex 968 454 005; +654.05% :bangbang: 128 433 849 129 904 488 (121 446 591; 135 316 780) 109 163 575 161 542 378
rwlock-write 1 997 415 088; +1444.89% :bangbang: 129 291 465 130 332 588 (122 079 171; 135 713 778) 112 294 896 171 994 104

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 27 284 926; -69.64% :heavy_check_mark: 89 872 908 91 397 698 (87 279 184; 94 597 384) 79 987 761 110 781 733

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 35 236 890 881; +600.79% :bangbang: 5 028 140 058 5 031 146 028 (5 005 189 001; 5 054 166 314) 4 915 446 162 5 155 555 559
2 of 3; bob & eve 35 165 226 620; +598.17% :bangbang: 5 036 764 160 5 038 334 507 (5 015 531 826; 5 062 116 299) 4 911 975 072 5 173 722 135
2 of 3; eve & alice 34 832 323 097; +590.99% :bangbang: 5 040 922 174 5 036 436 838 (5 014 724 467; 5 060 345 593) 4 926 964 662 5 197 663 862
2 of 3; eve doesn't answer, alice replies with incorrect payload 23 680 561 763; +374.19% :bangbang: 4 993 857 600 4 988 868 472 (4 962 329 425; 5 012 557 575) 4 903 428 698 5 060 138 509
2 of 3; no replies 5 536 650 802; +12.59% :bangbang: 4 917 678 027 4 919 193 898 (4 899 181 208; 4 938 890 385) 4 838 729 841 5 056 315 950
Single signatory & zero threshold 23 036 225 210; +361.49% :bangbang: 4 991 669 341 4 988 838 795 (4 966 397 906; 5 009 159 044) 4 873 721 616 5 068 623 002
Three signatories & redundant threshold 35 603 411 578; +600.03% :bangbang: 5 086 007 526 5 082 328 749 (5 058 018 447; 5 108 360 604) 4 975 274 661 5 158 578 075
Three signatories; Bob replies with incorrect signature 26 498 363 948; +431.43% :bangbang: 4 986 240 068 4 983 628 441 (4 962 018 553; 5 005 458 330) 4 856 517 253 5 113 992 209
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 24 676 668 803; +393.99% :bangbang: 4 995 351 709 4 991 802 327 (4 967 707 684; 5 010 446 967) 4 868 573 598 5 095 174 167

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 3 167 113 710; +27.58% :bangbang: 2 482 466 871 2 484 677 020 (2 468 698 126; 2 499 257 488) 2 431 240 141 2 560 502 519
correct signature but for another message 5 735 716 480; +127.14% :bangbang: 2 525 236 364 2 527 252 179 (2 504 844 317; 2 542 431 519) 2 470 319 539 2 600 476 425
no reply 3 364 096 241; +36.16% :bangbang: 2 470 777 206 2 472 841 000 (2 452 625 260; 2 489 333 459) 2 420 352 439 2 545 538 019
signed message 5 607 525 192; +121.26% :bangbang: 2 534 306 642 2 534 827 451 (2 515 847 581; 2 549 847 638) 2 488 163 464 2 586 820 961

name = Asynchronous recursion

name current median average lower/upper quartile min max
async-recursion 3 351 455 602; +1140.56% :bangbang: 270 155 986 273 250 765 (264 184 115; 281 192 374) 254 667 382 312 008 944

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 690 152 659; +800.52% :bangbang: 76 639 558 77 264 156 (73 952 196; 80 885 932) 64 540 247 97 315 802

name = Chat

name current median average lower/upper quartile min max
chat 1 546 502 229; +1390.38% :bangbang: 103 765 851 105 147 306 (99 321 734; 110 136 516) 92 861 729 132 506 729

name = Decoder

name current median average lower/upper quartile min max
decoder 321 093 605; +388.27% :bangbang: 65 762 126 65 801 232 (62 544 316; 69 195 042) 50 695 390 79 150 877

name = Exit code

name current median average lower/upper quartile min max
normal 343 810 382; +368.84% :bangbang: 73 331 642 73 836 964 (70 648 294; 76 246 658) 52 623 871 92 069 902
panic 11 122 913; -83.47% :heavy_check_mark: 67 298 099 68 393 597 (59 334 154; 75 896 018) 46 064 507 91 893 978

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 380 748 780; +1453.56% :bangbang: 153 244 513 151 729 386 (141 378 366; 159 674 309) 128 118 499 180 088 274
join 102 863 287; -32.70% :heavy_check_mark: 152 842 099 152 602 168 (143 732 079; 159 975 016) 132 949 458 184 223 804
select 2 348 819 382; +1534.51% :bangbang: 143 701 706 144 990 724 (136 183 616; 151 900 629) 125 887 729 180 823 622

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 2 379 528 588; +1711.14% :bangbang: 131 383 089 132 006 255 (123 435 166; 137 056 434) 111 215 423 170 744 864

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 298 470 685; +370.23% :bangbang: 63 473 363 67 087 414 (59 483 778; 74 807 062) 52 711 437 93 690 814

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 305 450 490; +291.29% :bangbang: 78 061 969 79 254 134 (75 550 669; 81 605 365) 69 594 427 98 932 309

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 9 693 397 652; -0.27% :heavy_check_mark: 9 719 304 646 9 722 006 181 (9 682 548 643; 9 759 210 065) 9 620 179 034 9 832 874 281

name = Multiping

name current median average lower/upper quartile min max
multiping 12 349 056; -79.48% :heavy_check_mark: 60 169 849 61 921 922 (55 713 039; 65 584 445) 50 385 407 96 761 811

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 303 525 127; +389.95% :bangbang: 61 950 760 62 491 261 (56 600 747; 66 693 568) 48 970 592 91 573 212
ping-pong wgas 582 210 902; +743.33% :bangbang: 69 036 806 70 276 110 (65 381 252; 74 218 843) 55 103 531 93 624 683

name = Program generator

name current median average lower/upper quartile min max
program_generator 59 789 173; +24.11% :exclamation: 48 175 563 49 794 565 (44 885 957; 53 906 765) 38 549 480 71 624 268

name = Program_id test

name current median average lower/upper quartile min max
program_id 135 758 326; +153.95% :bangbang: 53 458 433 54 381 221 (50 488 565; 57 637 776) 41 970 545 66 693 433

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 38 330 974; -42.57% :heavy_check_mark: 66 739 754 68 311 171 (63 212 022; 71 539 570) 54 143 892 97 128 403
state-saving 508 534 316; +661.37% :bangbang: 66 791 592 67 940 577 (60 860 924; 72 026 510) 53 812 229 97 995 406

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 233 562 682; +277.83% :bangbang: 61 817 275 62 441 333 (56 363 508; 65 555 830) 50 699 828 89 609 016
Try to re-init existing program 402 463 893; +444.44% :bangbang: 73 922 310 75 359 519 (71 423 863; 78 451 395) 61 834 781 97 106 292

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 7 554 153; -82.02% :heavy_check_mark: 42 004 207 43 143 341 (39 239 887; 47 750 351) 34 042 855 56 000 585

name = Vector

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 852 663 595; +565.93% :bangbang: 128 041 621 129 377 267 (122 544 358; 135 995 588) 111 959 667 168 538 139

name = Wait test

name current median average lower/upper quartile min max
wait 614 107 434; +745.60% :bangbang: 72 624 071 75 335 861 (67 210 933; 81 943 038) 58 022 712 100 258 835

name = basic

name current median average lower/upper quartile min max
fibonacci-sum 597 533 316; +651.67% :bangbang: 79 493 877 80 363 886 (76 718 928; 83 160 476) 52 561 881 98 711 558

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 22 855 855; -69.31% :heavy_check_mark: 74 477 494 74 977 025 (70 502 793; 79 279 394) 62 011 134 98 941 818

name = guestbook test

name current median average lower/upper quartile min max
guestbook 4 995 389 923; +3.32% :bangbang: 4 835 047 068 4 837 156 431 (4 804 461 450; 4 874 479 152) 4 744 288 011 4 916 971 542

name = gui test

name current median average lower/upper quartile min max
gui 7 074 167 315; +9.02% :bangbang: 6 488 614 145 6 488 903 722 (6 464 152 068; 6 514 383 564) 6 410 401 617 6 570 135 105

github-actions[bot] avatar Aug 17 '22 10:08 github-actions[bot]

Codecov Report

Merging #1324 (fdd0353) into master (b5bc64f) will decrease coverage by 6.29%. The diff coverage is 31.48%.

@@            Coverage Diff             @@
##           master    #1324      +/-   ##
==========================================
- Coverage   73.94%   67.64%   -6.30%     
==========================================
  Files         108      108              
  Lines       10538    11527     +989     
==========================================
+ Hits         7792     7798       +6     
- Misses       2746     3729     +983     
Impacted Files Coverage Δ
pallets/gear-program/src/lib.rs 25.83% <0.00%> (-5.80%) :arrow_down:
pallets/gear/src/lib.rs 64.88% <0.00%> (-0.21%) :arrow_down:
pallets/gear/src/schedule.rs 90.04% <ø> (-6.33%) :arrow_down:
pallets/gear/src/tests.rs 89.58% <ø> (-0.81%) :arrow_down:
common/src/code_storage.rs 51.61% <51.61%> (ø)
core-backend/wasmi/src/env.rs 57.67% <100.00%> (-22.89%) :arrow_down:
core/src/env.rs 3.84% <0.00%> (-96.16%) :arrow_down:
runtime-interface/src/lib.rs 35.91% <0.00%> (-55.75%) :arrow_down:
core-backend/common/src/utils.rs 48.14% <0.00%> (-51.86%) :arrow_down:
lazy-pages/src/lib.rs 45.39% <0.00%> (-41.10%) :arrow_down:
... and 50 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Aug 17 '22 10:08 codecov[bot]

First linked issue seems misprinted for the PR

breathx avatar Aug 28 '22 18:08 breathx

First linked issue seems misprinted for the PR

Yeah, corrected that

techraed avatar Aug 29 '22 09:08 techraed

@SabaunT, seems that you forget to specify wasm-instrument crate source

breathx avatar Aug 31 '22 13:08 breathx