Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gas burned counter to gtest #1068

Merged
merged 5 commits into from Jun 21, 2022
Merged

Add gas burned counter to gtest #1068

merged 5 commits into from Jun 21, 2022

Conversation

shamilsan
Copy link
Contributor

@shamilsan shamilsan commented Jun 16, 2022

  • Add main_gas_burned and others_gas_burned counters to the gtest's RunResult.
  • Actual weights for the wasmtime backend will be applied in a separate PR.

@gear-tech/dev

Release Notes: Now it is possible in gtest to get the gas amount burned after program execution. This allows using gtest library to monitor and optimize the program's gas consumption to make it more effective and cheap.

@shamilsan shamilsan added A0-pleasereview PR is ready to be reviewed by the team D5-tooling Helper tools and utilities labels Jun 16, 2022
@shamilsan shamilsan added the B1-releasenotes The feature deserves to be added to the Release Notes label Jun 16, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jun 16, 2022

680ce75
Pallet tests (values are in nanosegconds)

Total execution time

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

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 52 000 000; +116.67% ❗ 24 000 000 27 650 000 (18 000 000; 30 000 000) 5 000 000 231 000 000
tests::all_keys_are_cleared 32 000 000; -11.11% ✔️ 36 000 000 40 610 000 (30 000 000; 42 500 000) 9 000 000 232 000 000
tests::gas_free_after_consumed 42 000 000; +23.53% ❗ 34 000 000 37 680 000 (25 500 000; 41 000 000) 10 000 000 184 000 000
tests::limit_vs_origin 22 000 000; -31.25% ✔️ 32 000 000 38 640 000 (24 000 000; 42 500 000) 9 000 000 256 000 000
tests::long_chain 37 000 000; +13.85% ✔️ 32 500 000 40 120 000 (23 000 000; 41 000 000) 11 000 000 460 000 000
tests::simple_value_tree 26 000 000; -18.75% ✔️ 32 000 000 38 760 000 (24 000 000; 44 000 000) 7 000 000 216 000 000
tests::split_with_no_value 34 000 000; +6.25% ✔️ 32 000 000 38 700 000 (22 000 000; 42 500 000) 9 000 000 432 000 000
tests::sub_nodes_tree 38 000 000; +11.76% ✔️ 34 000 000 37 650 000 (25 500 000; 44 000 000) 14 000 000 181 000 000
tests::sub_nodes_tree_with_spends 60 000 000; +90.48% ❗ 31 500 000 39 790 000 (26 000 000; 41 000 000) 11 000 000 336 000 000
tests::subtree_gas_limit_remains_intact 54 000 000; +47.95% ❗ 36 500 000 43 460 000 (26 000 000; 46 000 000) 7 000 000 336 000 000
tests::value_tree_known_errors 21 000 000; -37.31% ✔️ 33 500 000 39 700 000 (24 500 000; 45 000 000) 10 000 000 324 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 31 000 000; +26.53% ✔️ 24 500 000 28 900 000 (16 500 000; 33 500 000) 5 000 000 172 000 000
schedule::test::print_test_schedule 35 000 000; +48.94% ❗ 23 500 000 31 970 000 (15 000 000; 32 000 000) 6 000 000 376 000 000
tests::block_gas_limit_works 47 000 000; +6.82% ✔️ 44 000 000 55 640 000 (31 500 000; 61 500 000) 17 000 000 356 000 000
tests::call_forbidden_function 49 000 000; +16.67% ✔️ 42 000 000 50 720 000 (29 000 000; 61 000 000) 13 000 000 292 000 000
tests::cascading_messages_with_value_do_not_overcharge 922 000 000; +294.02% ‼️ 234 000 000 249 750 000 (206 500 000; 268 000 000) 144 000 000 648 000 000
tests::claim_value_from_mailbox_works 53 000 000; +10.42% ✔️ 48 000 000 53 620 000 (35 500 000; 59 000 000) 18 000 000 292 000 000
tests::defer_program_initialization 107 000 000; +20.22% ✔️ 89 000 000 108 570 000 (76 500 000; 119 000 000) 53 000 000 603 000 000
tests::distributor_distribute 234 000 000; +141.24% ❗ 97 000 000 102 500 000 (73 000 000; 118 500 000) 45 000 000 467 000 000
tests::distributor_initialize 95 000 000; +34.75% ❗ 70 500 000 80 350 000 (56 000 000; 85 500 000) 30 000 000 408 000 000
tests::events_logging_works 140 000 000; +185.71% ❗ 49 000 000 58 200 000 (40 000 000; 66 000 000) 16 000 000 196 000 000
tests::exit_handle 108 000 000; +107.69% ❗ 52 000 000 64 290 000 (40 000 000; 77 500 000) 18 000 000 452 000 000
tests::exit_init 338 000 000; +336.13% ❗ 77 500 000 85 040 000 (61 500 000; 92 500 000) 36 000 000 464 000 000
tests::gas_spent_precalculated 189 000 000; +263.46% ❗ 52 000 000 60 870 000 (41 500 000; 65 500 000) 20 000 000 348 000 000
tests::gas_spent_vs_balance 301 000 000; +172.40% ❗ 110 500 000 123 730 000 (91 500 000; 132 500 000) 60 000 000 520 000 000
tests::init_message_logging_works 218 000 000; +282.46% ❗ 57 000 000 63 780 000 (45 000 000; 71 000 000) 18 000 000 448 000 000
tests::init_wait_reply_exit_cleaned_storage 200 000 000; +70.94% ❗ 117 000 000 125 030 000 (97 000 000; 132 000 000) 70 000 000 675 000 000
tests::lazy_pages 85 000 000; +44.07% ❗ 59 000 000 64 890 000 (44 000 000; 77 500 000) 23 000 000 260 000 000
tests::mailbox_works 138 000 000; +124.39% ❗ 61 500 000 68 710 000 (47 000 000; 78 000 000) 19 000 000 296 000 000
tests::memory_access_cases 252 000 000; +327.12% ❗ 59 000 000 70 710 000 (48 000 000; 88 000 000) 25 000 000 396 000 000
tests::messages_processing_works 84 000 000; +35.48% ❗ 62 000 000 66 130 000 (43 500 000; 79 000 000) 28 000 000 244 000 000
tests::messages_to_paused_program_skipped 112 000 000; +56.64% ❗ 71 500 000 81 900 000 (57 000 000; 95 000 000) 28 000 000 432 000 000
tests::messages_to_uninitialized_program_wait 354 000 000; +365.79% ❗ 76 000 000 84 210 000 (62 000 000; 93 000 000) 35 000 000 456 000 000
tests::no_redundant_gas_value_after_exiting 56 000 000; -10.40% ✔️ 62 500 000 69 580 000 (46 000 000; 80 000 000) 17 000 000 372 000 000
tests::paused_program_keeps_id 111 000 000; +29.07% ❗ 86 000 000 92 130 000 (67 500 000; 106 500 000) 44 000 000 288 000 000
tests::program_lifecycle_works 63 000 000; +5.00% ✔️ 60 000 000 68 570 000 (46 000 000; 83 000 000) 22 000 000 280 000 000
tests::program_messages_to_paused_program_skipped 315 000 000; +172.73% ❗ 115 500 000 132 250 000 (93 000 000; 151 500 000) 48 000 000 468 000 000
tests::replies_to_paused_program_skipped 116 000 000; +57.82% ❗ 73 500 000 81 080 000 (57 500 000; 97 500 000) 29 000 000 232 000 000
tests::restrict_start_section 167 000 000; +206.42% ❗ 54 500 000 61 810 000 (43 500 000; 70 000 000) 17 000 000 296 000 000
tests::resume_program_works 331 000 000; +194.22% ❗ 112 500 000 126 380 000 (94 000 000; 144 000 000) 48 000 000 407 000 000
tests::send_message_expected_failure 267 000 000; +352.54% ❗ 59 000 000 64 910 000 (45 000 000; 73 500 000) 21 000 000 291 000 000
tests::send_message_works 241 000 000; +326.55% ❗ 56 500 000 64 140 000 (44 000 000; 76 000 000) 24 000 000 300 000 000
tests::send_reply_failure_to_claim_from_mailbox 140 000 000; +164.15% ❗ 53 000 000 61 610 000 (44 000 000; 73 500 000) 20 000 000 187 000 000
tests::send_reply_value_claiming_works 182 000 000; +237.04% ❗ 54 000 000 62 350 000 (40 000 000; 76 500 000) 15 000 000 252 000 000
tests::send_reply_works 173 000 000; +188.33% ❗ 60 000 000 66 320 000 (43 000 000; 80 000 000) 20 000 000 320 000 000
tests::spent_gas_to_reward_block_author_works 138 000 000; +131.93% ❗ 59 500 000 65 220 000 (41 000 000; 79 000 000) 22 000 000 241 000 000
tests::submit_program_expected_failure 109 000 000; +113.73% ❗ 51 000 000 59 790 000 (41 500 000; 77 500 000) 12 000 000 244 000 000
tests::submit_program_fails_on_duplicate_id 166 000 000; +196.43% ❗ 56 000 000 61 590 000 (40 500 000; 72 500 000) 15 000 000 208 000 000
tests::test_async_messages 2 323 000 000; +293.06% ‼️ 591 000 000 612 939 999 (552 500 000; 638 000 000) 475 000 000 1 245 000 000
tests::test_code_is_not_reset_within_program_submission 204 000 000; +308.00% ❗ 50 000 000 59 470 000 (36 500 000; 72 000 000) 17 000 000 233 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 161 000 000; +209.62% ❗ 52 000 000 61 950 000 (41 000 000; 70 000 000) 16 000 000 281 000 000
tests::test_code_submission_pass 152 000 000; +162.07% ❗ 58 000 000 64 210 000 (46 500 000; 76 000 000) 16 000 000 249 000 000
tests::test_create_program_duplicate 351 000 000; +158.09% ❗ 136 000 000 144 690 000 (108 500 000; 163 000 000) 60 000 000 456 000 000
tests::test_create_program_duplicate_in_one_execution 192 000 000; +97.94% ❗ 97 000 000 108 080 000 (77 000 000; 123 500 000) 46 000 000 436 000 000
tests::test_create_program_miscellaneous 364 000 000; +149.32% ❗ 146 000 000 155 980 000 (117 000 000; 174 500 000) 76 000 000 396 000 000
tests::test_create_program_no_code_hash 860 000 000; +230.13% ‼️ 260 500 000 271 430 000 (208 500 000; 305 000 000) 156 000 000 681 000 000
tests::test_create_program_simple 648 000 000; +300.00% ‼️ 162 000 000 165 740 000 (132 500 000; 184 500 000) 81 000 000 334 000 000
tests::test_create_program_with_exceeding_value 104 000 000; +36.84% ❗ 76 000 000 81 220 000 (58 500 000; 97 000 000) 25 000 000 282 000 000
tests::test_create_program_with_value_lt_ed 270 000 000; +185.71% ❗ 94 500 000 106 100 000 (75 500 000; 118 000 000) 39 000 000 400 000 000
tests::test_create_program_without_gas_works 190 000 000; +138.99% ❗ 79 500 000 83 920 000 (55 000 000; 103 500 000) 22 000 000 223 000 000
tests::test_message_processing_for_non_existing_destination 75 000 000; +27.12% ✔️ 59 000 000 64 140 000 (43 000 000; 77 500 000) 14 000 000 164 000 000
tests::test_reply_to_terminated_program 179 000 000; +128.03% ❗ 78 500 000 83 740 000 (65 000 000; 95 500 000) 30 000 000 215 000 000
tests::test_same_code_submission_fails 71 000 000; +16.39% ✔️ 61 000 000 68 140 000 (48 000 000; 78 500 000) 19 000 000 223 000 000
tests::test_two_contracts_composition_works 1 120 000 000; +378.63% ‼️ 234 000 000 245 930 000 (202 000 000; 277 500 000) 152 000 000 698 000 000
tests::uninitialized_program_should_accept_replies 327 000 000; +194.59% ‼️ 111 000 000 113 210 000 (88 000 000; 134 500 000) 49 000 000 234 000 000
tests::unstoppable_block_execution_works 162 000 000; +149.23% ‼️ 65 000 000 68 990 000 (49 000 000; 84 000 000) 30 000 000 156 000 000
tests::unused_gas_released_back_works 148 000 000; +125.95% ❗ 65 500 000 70 370 000 (50 000 000; 92 500 000) 15 000 000 176 000 000
tests::wake_messages_after_program_inited 848 000 000; +282.84% ‼️ 221 500 000 234 520 000 (190 000 000; 270 000 000) 138 000 000 465 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 111 000 000; +170.73% ❗ 41 000 000 46 490 000 (29 000 000; 63 500 000) 8 000 000 138 000 000
tests::check_changed_pages_in_storage 60 000 000; -11.76% ✔️ 68 000 000 73 810 000 (50 500 000; 90 000 000) 24 000 000 210 000 000
tests::debug_mode_works 75 000 000; +12.78% ✔️ 66 500 000 68 700 000 (52 000 000; 84 000 000) 21 000 000 168 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 70 000 000; +72.84% ❗ 40 500 000 46 190 000 (28 000 000; 58 500 000) 6 000 000 156 000 000
tests::dequeued_impl_works_manually 189 000 000; +228.70% ‼️ 57 500 000 62 050 000 (40 500 000; 77 500 000) 21 000 000 177 000 000
tests::queue_processing_impl_works_manually 96 000 000; +62.71% ❗ 59 000 000 60 530 000 (45 000 000; 78 000 000) 12 000 000 128 000 000
tests::queue_works 192 000 000; +252.29% ❗ 54 500 000 58 710 000 (42 000 000; 70 500 000) 15 000 000 204 000 000
tests::sent_impl_works 72 000 000; +37.14% ❗ 52 500 000 55 500 000 (40 500 000; 70 500 000) 9 000 000 142 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 95 000 000; +153.33% ❗ 37 500 000 42 400 000 (27 500 000; 52 500 000) 8 000 000 151 000 000
tests::custom_fee_multiplier_updated_per_block 106 000 000; +92.73% ❗ 55 000 000 58 220 000 (38 000 000; 71 000 000) 19 000 000 155 000 000
tests::fee_rounding_error_bounded_by_multiplier 234 000 000; +337.38% ‼️ 53 500 000 57 840 000 (38 500 000; 71 500 000) 18 000 000 146 000 000
tests::mq_size_affecting_fee_works 164 000 000; +203.70% ❗ 54 000 000 56 560 000 (39 000 000; 69 500 000) 13 000 000 170 000 000
tests::mq_size_not_affecting_fee_works 233 000 000; +323.64% ‼️ 55 000 000 58 810 000 (42 000 000; 72 000 000) 13 000 000 132 000 000
tests::query_info_and_fee_details_work 148 000 000; +190.20% ‼️ 51 000 000 54 830 000 (39 500 000; 70 500 000) 15 000 000 126 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 161 000 000; +318.18% ‼️ 38 500 000 41 800 000 (27 500 000; 51 000 000) 8 000 000 141 000 000
tests::pause_program_twice_fails 148 000 000; +157.39% ‼️ 57 500 000 58 470 000 (41 000 000; 74 000 000) 10 000 000 124 000 000
tests::pause_program_works 165 000 000; +155.81% ❗ 64 500 000 72 010 000 (50 000 000; 80 500 000) 26 000 000 217 000 000
tests::pause_terminated_program_fails 124 000 000; +131.78% ❗ 53 500 000 56 440 000 (39 000 000; 70 500 000) 11 000 000 139 000 000
tests::pause_uninitialized_program_works 106 000 000; +55.88% ❗ 68 000 000 72 520 000 (53 000 000; 89 000 000) 19 000 000 158 000 000
tests::resume_program_twice_fails 154 000 000; +77.01% ❗ 87 000 000 93 170 000 (69 500 000; 110 000 000) 33 000 000 198 000 000
tests::resume_program_wrong_list_fails 99 000 000; +30.26% ❗ 76 000 000 80 280 000 (62 000 000; 98 000 000) 32 000 000 176 000 000
tests::resume_program_wrong_memory_fails 162 000 000; +94.01% ❗ 83 500 000 84 400 000 (65 000 000; 97 500 000) 29 000 000 167 000 000
tests::resume_uninitialized_program_works 168 000 000; +108.70% ❗ 80 500 000 86 850 000 (67 500 000; 100 500 000) 34 000 000 188 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 57 000 000; +40.74% ❗ 40 500 000 45 500 000 (28 500 000; 55 000 000) 5 000 000 147 000 000
tests::dust_discarded_with_noop 63 000 000; +21.15% ✔️ 52 000 000 60 260 000 (41 000 000; 72 500 000) 15 000 000 167 000 000
tests::external_submitter_gets_rewarded 80 000 000; +41.59% ❗ 56 500 000 58 430 000 (41 000 000; 69 000 000) 8 000 000 170 000 000
tests::gas_properly_handled_for_trap_replies 54 000 000; +4.85% ✔️ 51 500 000 59 140 000 (45 000 000; 69 000 000) 20 000 000 212 000 000
tests::ocw_double_charge 56 000 000; +3.70% ✔️ 54 000 000 59 230 000 (43 000 000; 69 500 000) 16 000 000 164 000 000
tests::ocw_interval_maintained 78 000 000; +50.00% ❗ 52 000 000 57 270 000 (40 500 000; 67 500 000) 15 000 000 240 000 000
tests::ocw_interval_stretches_for_large_wait_list 128 000 000; +126.55% ❗ 56 500 000 61 190 000 (44 000 000; 73 500 000) 16 000 000 232 000 000
tests::ocw_overlapping_prevented 88 000 000; +87.23% ❗ 47 000 000 51 040 000 (35 500 000; 63 000 000) 11 000 000 163 000 000
tests::rent_charge_works 57 000 000; +3.64% ✔️ 55 000 000 57 990 000 (41 500 000; 69 000 000) 15 000 000 188 000 000
tests::trap_reply_message_is_sent 67 000 000; +38.14% ❗ 48 500 000 51 560 000 (34 500 000; 65 000 000) 11 000 000 167 000 000
Runtime tests (values are in nanoseconds)

Total execution time

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

name = Async RwLock

name current median average lower/upper quartile min max
check readers 282 094 391; +548.82% ‼️ 43 478 323 50 203 472 (40 231 618; 52 901 472) 32 119 360 132 212 390
forever lock 516 992 876; +719.35% ‼️ 63 097 560 73 038 566 (57 314 439; 81 273 128) 43 517 038 138 924 032
read while writing 931 593 571; +714.74% ‼️ 114 341 870 126 349 770 (104 299 957; 144 618 894) 82 172 294 202 813 686
rwlock wide 1 828 260 961; +654.78% ‼️ 242 225 411 235 412 617 (212 023 856; 254 037 224) 166 985 691 299 455 235
write while reading 969 444 865; +574.74% ‼️ 143 676 384 148 558 865 (126 414 156; 170 449 517) 93 327 347 217 857 357

name = Async init

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

name = Async-await

name current median average lower/upper quartile min max
normal 436 694 440; +468.84% ‼️ 76 769 336 75 119 453 (66 701 412; 83 215 321) 33 587 295 107 441 595
panic 284 107 495; +417.41% ‼️ 54 909 109 63 886 643 (46 268 397; 81 956 064) 32 810 775 112 367 114

name = Async-duplicates-sync

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

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 18 144 870 531; +92.89% ‼️ 9 406 959 568 9 407 296 555 (9 284 042 798; 9 545 963 471) 8 931 446 959 9 761 869 767
2 of 3; bob & eve 18 349 538 130; +95.70% ‼️ 9 376 470 210 9 389 847 383 (9 263 447 718; 9 492 187 016) 9 066 369 995 9 927 494 134
2 of 3; eve & alice 18 045 312 788; +92.88% ‼️ 9 355 589 199 9 377 069 634 (9 252 890 375; 9 487 604 436) 9 027 120 575 9 823 224 997
2 of 3; eve doesn't answer, alice replies with incorrect payload 13 828 528 569; +50.10% ‼️ 9 212 704 251 9 223 298 666 (9 096 892 296; 9 344 730 425) 8 807 757 844 9 639 310 619
2 of 3; no replies 9 871 545 492; +9.26% ‼️ 9 034 864 443 9 042 139 421 (8 928 768 344; 9 149 357 751) 8 637 451 241 9 576 043 232
Single signatory & zero threshold 10 369 285 428; +11.93% ‼️ 9 263 877 358 9 264 588 476 (9 140 428 775; 9 372 373 135) 8 915 580 717 9 852 789 817
Three signatories & redundand threshold 18 579 496 533; +95.29% ‼️ 9 513 802 282 9 507 763 274 (9 367 144 710; 9 642 668 048) 9 056 699 337 9 918 060 176
Three signatories; Bob replies with incorrect signature 15 693 849 438; +69.08% ‼️ 9 281 813 711 9 266 468 538 (9 144 821 153; 9 358 119 725) 8 847 448 134 9 655 434 237
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 15 182 097 367; +64.00% ‼️ 9 257 211 862 9 242 199 451 (9 140 815 873; 9 351 825 701) 8 848 527 886 9 670 940 302

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 485 497 528; +10.72% ‼️ 4 954 360 228 4 930 489 941 (4 812 992 819; 5 081 024 861) 4 380 240 639 5 288 291 764
correct signature but for another message 6 418 728 603; +25.06% ‼️ 5 132 629 408 5 091 365 689 (4 968 528 171; 5 227 885 814) 4 613 448 752 5 428 349 228
no reply 5 313 719 900; +7.82% ‼️ 4 928 398 977 4 902 707 450 (4 759 879 253; 5 070 603 691) 4 409 581 785 5 254 093 296
signed message 6 726 892 706; +30.20% ‼️ 5 166 535 242 5 120 827 531 (5 006 276 710; 5 291 362 523) 4 506 104 077 5 471 140 826

name = Basic capacitor check

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

name = Decoder

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

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 119 164 367; +572.30% ‼️ 315 212 600 303 686 726 (266 808 513; 340 339 413) 197 367 987 405 410 079
join 1 689 544 089; +617.19% ‼️ 235 578 155 251 584 225 (219 410 561; 271 662 257) 181 505 787 376 453 460
select 1 745 687 345; +622.78% ‼️ 241 522 681 255 082 783 (215 955 887; 289 192 334) 168 703 453 379 380 958

name = Incomplete-async-payloads

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

name = Memory test

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

name = Messages to failed program are handled properly

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

name = Meta ping (simple check)

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

name = Multiping

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

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 329 189 758; +911.31% ‼️ 32 550 719 41 484 142 (24 835 569; 61 200 519) 16 473 728 85 877 619
ping-pong wgas 453 598 753; +884.82% ‼️ 46 059 188 51 819 009 (38 895 985; 57 827 175) 28 795 384 102 243 674

name = Program_id test

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

name = State-rollback

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

name = Test create_program sys-call

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

name = Trap test

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

name = Wait test

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

name = basic

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

name = collector-1

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

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 700 872 806; +9.07% ‼️ 8 894 372 916 8 898 596 110 (8 747 041 943; 9 031 296 136) 8 534 357 403 9 452 015 756

name = gui test

name current median average lower/upper quartile min max
gui 12 555 511 825; +9.79% ‼️ 11 436 126 676 11 453 762 190 (11 345 505 830; 11 592 987 293) 11 118 993 971 11 956 136 145
d6dde99
Pallet tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 71 368 000 000; +1391.34% ❗ 4 785 500 000 6 014 850 000 (4 657 500 000; 4 900 500 000) 4 321 000 000 125 388 000 000

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 27 000 000; +25.58% ✔️ 21 500 000 22 970 000 (15 000 000; 30 500 000) 5 000 000 57 000 000
property_tests::test_empty_tree 6 263 000 000; +174.63% ‼️ 2 280 500 000 2 300 099 999 (2 250 000 000; 2 301 000 000) 2 104 000 000 4 501 000 000
property_tests::test_tree_properties 9 558 000 000; +107.71% ‼️ 4 601 500 000 4 628 879 999 (4 482 500 000; 4 720 500 000) 4 131 999 999 7 247 000 000
tests::all_keys_are_cleared 159 000 000; +396.88% ‼️ 32 000 000 32 550 000 (25 000 000; 37 500 000) 14 000 000 64 000 000
tests::gas_free_after_consumed 117 000 000; +317.86% ‼️ 28 000 000 30 340 000 (22 000 000; 36 000 000) 12 000 000 61 000 000
tests::limit_vs_origin 121 000 000; +296.72% ‼️ 30 500 000 30 750 000 (23 500 000; 37 000 000) 6 000 000 57 000 000
tests::long_chain 121 000 000; +317.24% ‼️ 29 000 000 30 920 000 (23 000 000; 38 500 000) 8 000 000 75 000 000
tests::simple_value_tree 286 000 000; +886.21% ‼️ 29 000 000 31 980 000 (23 000 000; 41 000 000) 9 000 000 62 000 000
tests::split_with_no_value 148 000 000; +355.38% ❗ 32 500 000 35 910 000 (23 000 000; 43 000 000) 10 000 000 239 000 000
tests::splits_fail 261 000 000; +656.52% ❗ 34 500 000 38 940 000 (27 500 000; 43 500 000) 10 000 000 358 000 000
tests::sub_nodes_tree 192 000 000; +519.35% ‼️ 31 000 000 33 230 000 (23 000 000; 40 000 000) 12 000 000 141 000 000
tests::sub_nodes_tree_with_spends 148 000 000; +362.50% ‼️ 32 000 000 33 890 000 (24 000 000; 40 000 000) 10 000 000 107 000 000
tests::subtree_gas_limit_remains_intact 264 000 000; +810.34% ‼️ 29 000 000 33 550 000 (22 000 000; 43 000 000) 12 000 000 83 000 000
tests::test_consume_procedure 248 000 000; +687.30% ❗ 31 500 000 37 230 000 (24 000 000; 43 000 000) 10 000 000 299 000 000
tests::value_tree_known_errors 139 000 000; +314.93% ❗ 33 500 000 38 800 000 (27 500 000; 44 500 000) 13 000 000 261 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 42 000 000; +82.61% ❗ 23 000 000 28 350 000 (15 000 000; 33 500 000) 6 000 000 284 000 000
schedule::test::print_test_schedule 43 000 000; +72.00% ❗ 25 000 000 27 720 000 (17 000 000; 32 500 000) 6 000 000 178 000 000
tests::call_forbidden_function 68 000 000; +67.90% ❗ 40 500 000 46 920 000 (30 000 000; 55 500 000) 12 000 000 301 000 000
tests::cascading_messages_with_value_do_not_overcharge 702 000 000; +192.50% ‼️ 240 000 000 255 060 000 (212 500 000; 288 500 000) 170 000 000 632 000 000
tests::defer_program_initialization 181 000 000; +74.88% ❗ 103 500 000 107 660 000 (85 000 000; 123 500 000) 48 000 000 218 000 000
tests::distributor_distribute 187 000 000; +102.16% ‼️ 92 500 000 96 830 000 (78 000 000; 114 000 000) 44 000 000 182 000 000
tests::distributor_initialize 196 000 000; +154.55% ‼️ 77 000 000 85 100 000 (60 500 000; 103 000 000) 35 000 000 181 000 000
tests::events_logging_works 153 000 000; +173.21% ‼️ 56 000 000 64 880 000 (42 500 000; 84 000 000) 21 000 000 153 000 000
tests::exit_handle 103 000 000; +74.58% ❗ 59 000 000 60 880 000 (40 500 000; 73 000 000) 19 000 000 141 000 000
tests::exit_init 106 000 000; +32.50% ❗ 80 000 000 81 870 000 (62 000 000; 96 000 000) 35 000 000 260 000 000
tests::gas_spent_precalculated 123 000 000; +108.47% ‼️ 59 000 000 60 910 000 (46 000 000; 72 000 000) 16 000 000 120 000 000
tests::gas_spent_vs_balance 335 000 000; +130.24% ‼️ 145 500 000 148 990 000 (116 500 000; 170 000 000) 84 000 000 262 000 000
tests::init_message_logging_works 61 000 000; +5.17% ✔️ 58 000 000 64 420 000 (44 000 000; 79 000 000) 21 000 000 167 000 000
tests::init_wait_reply_exit_cleaned_storage 392 000 000; +246.90% ‼️ 113 000 000 115 150 000 (93 000 000; 134 500 000) 60 000 000 202 000 000
tests::lazy_pages 340 000 000; +486.21% ‼️ 58 000 000 61 270 000 (42 000 000; 72 000 000) 19 000 000 148 000 000
tests::mailbox_works 116 000 000; +90.16% ❗ 61 000 000 60 750 000 (47 000 000; 73 000 000) 20 000 000 140 000 000
tests::memory_access_cases 65 000 000; +7.44% ✔️ 60 500 000 64 150 000 (48 500 000; 74 500 000) 24 000 000 198 000 000
tests::messages_processing_works 112 000 000; +88.24% ❗ 59 500 000 63 010 000 (44 000 000; 77 000 000) 19 000 000 187 000 000
tests::messages_to_paused_program_skipped 133 000 000; +87.32% ❗ 71 000 000 74 040 000 (56 000 000; 91 000 000) 31 000 000 148 000 000
tests::messages_to_uninitialized_program_wait 119 000 000; +70.00% ❗ 70 000 000 75 550 000 (54 500 000; 94 500 000) 29 000 000 294 000 000
tests::no_redundant_gas_value_after_exiting 144 000 000; +146.15% ❗ 58 500 000 63 070 000 (48 000 000; 73 000 000) 24 000 000 159 000 000
tests::paused_program_keeps_id 205 000 000; +150.00% ❗ 82 000 000 84 960 000 (65 500 000; 98 500 000) 36 000 000 210 000 000
tests::program_lifecycle_works 60 000 000; +1.69% ✔️ 59 000 000 61 260 000 (43 000 000; 73 000 000) 21 000 000 179 000 000
tests::program_messages_to_paused_program_skipped 445 000 000; +285.28% ‼️ 115 500 000 118 770 000 (98 000 000; 135 000 000) 70 000 000 209 000 000
tests::replies_to_paused_program_skipped 101 000 000; +36.49% ❗ 74 000 000 81 490 000 (58 000 000; 95 000 000) 31 000 000 349 000 000
tests::restrict_start_section 169 000 000; +212.96% ❗ 54 000 000 60 500 000 (39 500 000; 71 500 000) 21 000 000 318 000 000
tests::resume_program_works 131 000 000; +21.86% ✔️ 107 500 000 109 740 000 (86 000 000; 133 000 000) 52 000 000 208 000 000
tests::send_message_expected_failure 152 000 000; +166.67% ❗ 57 000 000 61 310 000 (44 000 000; 71 000 000) 22 000 000 197 000 000
tests::send_message_works 44 000 000; -18.52% ✔️ 54 000 000 57 870 000 (39 000 000; 72 500 000) 15 000 000 134 000 000
tests::send_reply_failure_to_claim_from_mailbox 105 000 000; +81.03% ❗ 58 000 000 61 770 000 (44 500 000; 74 000 000) 16 000 000 211 000 000
tests::send_reply_value_claiming_works 207 000 000; +269.64% ‼️ 56 000 000 62 530 000 (42 500 000; 78 500 000) 17 000 000 203 000 000
tests::send_reply_works 72 000 000; +28.57% ✔️ 56 000 000 57 770 000 (36 500 000; 73 500 000) 16 000 000 195 000 000
tests::spent_gas_to_reward_block_author_works 110 000 000; +111.54% ❗ 52 000 000 52 990 000 (36 000 000; 62 000 000) 16 000 000 133 000 000
tests::submit_program_expected_failure 122 000 000; +159.57% ❗ 47 000 000 52 260 000 (34 500 000; 65 500 000) 13 000 000 129 000 000
tests::submit_program_fails_on_duplicate_id 106 000 000; +92.73% ❗ 55 000 000 57 350 000 (39 000 000; 69 000 000) 13 000 000 163 000 000
tests::test_async_messages 2 025 999 999; +242.23% ‼️ 592 000 000 605 360 000 (543 500 000; 643 000 000) 447 000 000 1 552 000 000
tests::test_code_is_not_reset_within_program_submission 224 000 000; +366.67% ‼️ 48 000 000 53 530 000 (37 500 000; 71 000 000) 13 000 000 115 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 90 000 000; +73.08% ❗ 52 000 000 55 850 000 (42 000 000; 69 000 000) 16 000 000 126 000 000
tests::test_code_submission_pass 104 000 000; +100.00% ❗ 52 000 000 54 640 000 (39 500 000; 65 000 000) 13 000 000 168 000 000
tests::test_create_program_duplicate 338 000 000; +149.45% ‼️ 135 500 000 139 530 000 (109 000 000; 162 500 000) 59 000 000 277 000 000
tests::test_create_program_duplicate_in_one_execution 262 000 000; +170.10% ❗ 97 000 000 103 550 000 (82 500 000; 122 500 000) 39 000 000 287 000 000
tests::test_create_program_miscellaneous 356 000 000; +129.68% ‼️ 155 000 000 157 550 000 (134 000 000; 178 500 000) 91 000 000 356 000 000
tests::test_create_program_no_code_hash 862 000 000; +230.27% ‼️ 261 000 000 261 550 000 (212 500 000; 295 000 000) 152 000 000 535 000 000
tests::test_create_program_simple 296 000 000; +87.34% ❗ 158 000 000 165 310 000 (132 000 000; 194 500 000) 78 000 000 467 000 000
tests::test_create_program_with_exceeding_value 230 000 000; +194.87% ❗ 78 000 000 84 700 000 (60 000 000; 102 500 000) 22 000 000 303 000 000
tests::test_create_program_with_value_lt_ed 395 000 000; +301.02% ‼️ 98 500 000 101 800 000 (77 000 000; 124 500 000) 42 000 000 207 000 000
tests::test_create_program_without_gas_works 83 000 000; +4.40% ✔️ 79 500 000 88 060 000 (61 000 000; 110 500 000) 25 000 000 259 000 000
tests::test_message_processing_for_non_existing_destination 132 000 000; +123.73% ❗ 59 000 000 60 050 000 (42 000 000; 71 500 000) 17 000 000 135 000 000
tests::test_reply_to_terminated_program 96 000 000; +24.68% ❗ 77 000 000 77 630 000 (59 000 000; 94 000 000) 20 000 000 141 000 000
tests::test_same_code_submission_fails 73 000 000; +13.18% ✔️ 64 500 000 64 350 000 (46 000 000; 76 500 000) 21 000 000 139 000 000
tests::test_two_contracts_composition_works 732 000 000; +207.56% ‼️ 238 000 000 241 320 000 (202 500 000; 274 500 000) 128 000 000 590 000 000
tests::uninitialized_program_should_accept_replies 186 000 000; +80.58% ❗ 103 000 000 109 670 000 (83 000 000; 131 000 000) 50 000 000 320 000 000
tests::unstoppable_block_execution_works 64 000 000; -5.88% ✔️ 68 000 000 70 160 000 (51 000 000; 83 000 000) 24 000 000 217 000 000
tests::unused_gas_released_back_works 58 000 000; -6.45% ✔️ 62 000 000 64 240 000 (46 000 000; 81 500 000) 24 000 000 127 000 000
tests::wake_messages_after_program_inited 826 000 000; +285.08% ‼️ 214 500 000 213 230 000 (177 500 000; 242 000 000) 128 000 000 481 000 000

name = pallet-gear-debug

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 32 000 000; -17.95% ✔️ 39 000 000 42 320 000 (30 000 000; 52 000 000) 9 000 000 94 000 000
tests::check_changed_pages_in_storage 68 000 000; -1.45% ✔️ 69 000 000 67 990 000 (49 000 000; 84 500 000) 22 000 000 146 000 000
tests::debug_mode_works 105 000 000; +69.35% ❗ 62 000 000 65 220 000 (50 000 000; 80 000 000) 15 000 000 133 000 000

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 110 000 000; +233.33% ❗ 33 000 000 38 870 000 (23 000 000; 53 000 000) 4 000 000 128 000 000
tests::dequeued_impl_works_manually 54 000 000; +1.89% ✔️ 53 000 000 56 860 000 (39 000 000; 69 000 000) 18 000 000 144 000 000
tests::queue_processing_impl_works_manually 78 000 000; +54.46% ❗ 50 500 000 54 610 000 (40 500 000; 66 500 000) 9 000 000 153 000 000
tests::queue_works 101 000 000; +88.79% ❗ 53 500 000 55 620 000 (41 500 000; 69 000 000) 22 000 000 128 000 000
tests::sent_impl_works 173 000 000; +232.69% ‼️ 52 000 000 54 330 000 (39 000 000; 69 000 000) 11 000 000 108 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 84 000 000; +130.14% ❗ 36 500 000 38 720 000 (23 000 000; 54 000 000) 6 000 000 114 000 000
tests::custom_fee_multiplier_updated_per_block 102 000 000; +106.06% ❗ 49 500 000 51 760 000 (33 000 000; 66 000 000) 7 000 000 132 000 000
tests::fee_rounding_error_bounded_by_multiplier 94 000 000; +69.37% ❗ 55 500 000 56 020 000 (38 500 000; 71 500 000) 15 000 000 122 000 000
tests::mq_size_affecting_fee_works 107 000 000; +103.81% ‼️ 52 500 000 50 510 000 (36 500 000; 63 000 000) 15 000 000 103 000 000
tests::mq_size_not_affecting_fee_works 93 000 000; +89.80% ❗ 49 000 000 51 020 000 (38 500 000; 59 000 000) 17 000 000 129 000 000
tests::query_info_and_fee_details_work 93 000 000; +93.75% ❗ 48 000 000 50 190 000 (34 500 000; 63 500 000) 7 000 000 127 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 110 000 000; +214.29% ‼️ 35 000 000 36 580 000 (23 500 000; 48 000 000) 4 000 000 85 000 000
tests::pause_program_twice_fails 68 000 000; +30.77% ❗ 52 000 000 51 230 000 (35 000 000; 64 500 000) 9 000 000 114 000 000
tests::pause_program_works 69 000 000; +0.00% ✔️ 69 000 000 69 140 000 (54 000 000; 81 500 000) 26 000 000 200 000 000
tests::pause_terminated_program_fails 71 000 000; +43.43% ❗ 49 500 000 50 490 000 (33 000 000; 66 000 000) 11 000 000 116 000 000
tests::pause_uninitialized_program_works 63 000 000; -7.35% ✔️ 68 000 000 69 030 000 (52 500 000; 82 000 000) 21 000 000 139 000 000
tests::resume_program_twice_fails 164 000 000; +101.23% ❗ 81 500 000 84 180 000 (64 500 000; 99 000 000) 29 000 000 168 000 000
tests::resume_program_wrong_list_fails 65 000 000; -6.47% ✔️ 69 500 000 76 560 000 (59 500 000; 90 500 000) 37 000 000 170 000 000
tests::resume_program_wrong_memory_fails 121 000 000; +75.36% ❗ 69 000 000 72 220 000 (55 500 000; 88 000 000) 27 000 000 130 000 000
tests::resume_uninitialized_program_works 203 000 000; +170.67% ‼️ 75 000 000 77 470 000 (60 500 000; 93 500 000) 34 000 000 150 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 44 000 000; +15.79% ✔️ 38 000 000 38 050 000 (25 000 000; 51 000 000) 4 000 000 91 000 000
tests::dust_discarded_with_noop 49 000 000; +3.16% ✔️ 47 500 000 51 180 000 (36 500 000; 63 000 000) 18 000 000 130 000 000
tests::external_submitter_gets_rewarded 147 000 000; +191.09% ‼️ 50 500 000 53 330 000 (37 500 000; 64 000 000) 20 000 000 115 000 000
tests::gas_properly_handled_for_trap_replies 112 000 000; +154.55% ❗ 44 000 000 49 590 000 (34 000 000; 62 000 000) 17 000 000 115 000 000
tests::ocw_double_charge 132 000 000; +175.00% ‼️ 48 000 000 49 130 000 (35 000 000; 61 000 000) 16 000 000 108 000 000
tests::ocw_interval_maintained 128 000 000; +178.26% ‼️ 46 000 000 48 270 000 (31 500 000; 61 000 000) 9 000 000 113 000 000
tests::ocw_interval_stretches_for_large_wait_list 121 000 000; +163.04% ‼️ 46 000 000 47 410 000 (35 000 000; 57 000 000) 15 000 000 88 000 000
tests::ocw_overlapping_prevented 118 000 000; +168.18% ❗ 44 000 000 45 230 000 (31 500 000; 58 000 000) 10 000 000 124 000 000
tests::rent_charge_works 180 000 000; +260.00% ‼️ 50 000 000 47 750 000 (32 000 000; 62 000 000) 11 000 000 100 000 000
tests::trap_reply_message_is_sent 92 000 000; +100.00% ❗ 46 000 000 46 410 000 (32 500 000; 56 000 000) 8 000 000 102 000 000
Runtime tests (values are in nanoseconds)

Total execution time

name current median average lower/upper quartile min max
Total time 234 689 433 149; +45.04% ‼️ 161 807 907 647 161 817 453 183 (161 260 011 637; 162 261 460 001) 160 019 652 674 164 059 975 040

name = Async RwLock

name current median average lower/upper quartile min max
check readers 391 764 110; +765.99% ‼️ 45 238 943 47 619 171 (41 362 552; 51 523 065) 31 142 129 102 815 213
forever lock 538 671 221; +738.30% ‼️ 64 257 610 70 828 832 (57 786 156; 79 068 288) 45 031 965 151 360 912
read while writing 943 500 910; +733.41% ‼️ 113 210 158 120 684 933 (105 727 698; 130 378 949) 77 833 906 196 032 848
rwlock wide 1 508 314 854; +525.24% ‼️ 241 237 229 235 447 042 (218 614 491; 250 754 577) 169 951 831 328 707 717
write while reading 1 148 809 807; +752.65% ‼️ 134 733 975 142 210 505 (120 812 407; 156 701 327) 101 607 349 206 332 014

name = Async init

name current median average lower/upper quartile min max
approved pong 17 899 322 168; +5.56% ‼️ 16 955 877 630 16 997 472 637 (16 861 580 450; 17 120 846 611) 16 643 137 525 17 511 129 956

name = Async-await

name current median average lower/upper quartile min max
normal 358 338 333; +369.03% ‼️ 76 400 173 76 558 676 (70 106 916; 83 743 778) 37 360 166 102 992 430
panic 349 372 743; +493.07% ‼️ 58 909 400 63 454 537 (45 745 960; 81 317 923) 35 521 572 107 086 851

name = Async-duplicates-sync

name current median average lower/upper quartile min max
async-duplicates-sync 700 828 522; +437.54% ‼️ 130 377 186 120 661 563 (91 802 696; 141 821 710) 60 288 939 166 793 049

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 17 002 688 329; +81.20% ‼️ 9 383 448 581 9 384 681 076 (9 271 647 501; 9 475 972 187) 9 082 603 436 9 852 715 283
2 of 3; bob & eve 17 054 193 302; +81.36% ‼️ 9 403 450 439 9 411 093 579 (9 311 594 840; 9 515 300 040) 9 073 998 641 9 806 594 443
2 of 3; eve & alice 16 811 421 574; +80.90% ‼️ 9 293 322 601 9 314 346 064 (9 193 192 847; 9 429 771 813) 8 818 679 167 9 978 506 758
2 of 3; eve doesn't answer, alice replies with incorrect payload 14 257 804 723; +55.01% ‼️ 9 198 219 235 9 201 868 997 (9 079 927 810; 9 305 825 720) 8 843 655 518 9 661 298 308
2 of 3; no replies 9 518 751 485; +5.20% ‼️ 9 048 564 781 9 074 375 672 (8 963 684 350; 9 193 159 913) 8 763 342 110 9 507 948 003
Single signatory & zero threshold 12 928 983 758; +39.31% ‼️ 9 280 580 207 9 258 756 928 (9 139 982 535; 9 386 681 676) 8 863 458 833 9 682 087 932
Three signatories & redundand threshold 17 176 048 877; +82.11% ‼️ 9 431 860 109 9 470 997 704 (9 358 702 068; 9 576 330 794) 9 158 143 763 10 011 627 751
Three signatories; Bob replies with incorrect signature 10 700 500 553; +15.45% ‼️ 9 268 720 896 9 268 669 885 (9 161 424 975; 9 377 312 039) 8 865 725 962 9 794 167 597
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 270 053 728; +54.46% ‼️ 9 238 961 965 9 244 722 735 (9 109 431 769; 9 389 263 117) 8 889 876 494 9 716 382 654

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 160 348 730; +4.23% ❗ 4 950 818 300 4 907 350 392 (4 733 303 261; 5 079 011 218) 4 462 769 480 5 269 185 219
correct signature but for another message 5 955 559 448; +16.64% ‼️ 5 106 043 228 5 090 319 053 (4 960 933 581; 5 242 180 241) 4 553 449 412 5 407 684 992
no reply 5 021 119 398; +2.22% ✔️ 4 912 227 373 4 865 726 203 (4 708 168 180; 5 041 546 011) 4 368 879 834 5 228 303 349
signed message 5 801 140 711; +13.27% ‼️ 5 121 479 563 5 076 783 185 (4 888 034 484; 5 240 907 886) 4 606 824 495 5 558 909 392

name = Basic capacitor check

name current median average lower/upper quartile min max
Test charging/discharging 534 504 538; +521.56% ‼️ 85 993 690 85 167 404 (78 711 019; 96 372 620) 42 016 631 114 668 337

name = Decoder

name current median average lower/upper quartile min max
decoder 330 351 263; +406.76% ‼️ 65 188 569 59 070 293 (40 775 899; 71 670 256) 21 925 532 92 148 967

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 1 600 006 611; +396.23% ‼️ 322 433 617 318 805 797 (297 213 323; 344 961 282) 224 641 659 413 247 786
join 1 481 082 929; +511.01% ‼️ 242 399 107 258 105 342 (218 741 090; 295 886 727) 178 014 295 383 513 998
select 1 408 711 975; +439.61% ‼️ 261 059 733 266 284 815 (224 005 702; 308 404 103) 183 790 432 386 487 999

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 649 714 755; +540.27% ‼️ 257 659 094 249 477 393 (223 100 318; 279 872 301) 147 344 405 329 870 987

name = Memory test

name current median average lower/upper quartile min max
Test for memory result 299 689 743; +258.48% ‼️ 83 601 019 83 025 142 (75 426 791; 92 473 812) 36 199 010 120 265 869

name = Messages to failed program are handled properly

name current median average lower/upper quartile min max
handle messages to failed program 245 045 104; +215.31% ‼️ 77 715 965 68 433 659 (35 431 428; 94 175 250) 21 207 969 118 765 940

name = Meta ping (simple check)

name current median average lower/upper quartile min max
meta check 16 577 567 025; +4.04% ‼️ 15 933 509 814 15 970 420 366 (15 808 029 705; 16 097 837 529) 15 571 539 283 16 521 987 550

name = Multiping

name current median average lower/upper quartile min max
multiping 318 242 853; +354.56% ‼️ 70 011 558 63 839 393 (43 078 661; 77 101 734) 25 674 140 99 932 081

name = Ping-pong

name current median average lower/upper quartile min max
ping-pong 160 272 716; +418.59% ‼️ 30 905 180 39 851 214 (24 927 389; 56 383 430) 18 003 759 82 437 285
ping-pong wgas 317 112 579; +625.31% ‼️ 43 720 856 49 939 359 (38 667 456; 52 413 369) 31 309 972 98 530 209

name = Program_id test

name current median average lower/upper quartile min max
program_id 251 528 394; +692.99% ‼️ 31 719 000 42 942 120 (26 159 003; 63 870 856) 19 556 593 88 566 292

name = State-rollback

name current median average lower/upper quartile min max
state-rollback 440 722 363; +824.81% ‼️ 47 655 446 58 786 051 (43 427 096; 80 306 933) 31 810 233 112 657 660
state-saving 381 822 976; +760.95% ‼️ 44 348 880 49 410 969 (40 156 900; 52 459 215) 29 607 647 103 663 558

name = Test create_program sys-call

name current median average lower/upper quartile min max
Simple creation of program from program 302 197 499; +340.62% ‼️ 68 584 105 69 148 468 (64 217 516; 75 953 174) 25 221 851 107 136 414
Try to re-init existing program 512 041 078; +464.27% ‼️ 90 744 667 83 660 683 (61 271 637; 99 712 132) 44 531 021 117 914 800

name = Trap test

name current median average lower/upper quartile min max
Test for trap result 151 370 620; +707.60% ‼️ 18 743 368 24 401 667 (15 438 706; 24 937 611) 12 009 671 65 166 207

name = Wait test

name current median average lower/upper quartile min max
wait 550 291 869; +863.51% ‼️ 57 112 990 65 332 008 (51 074 495; 77 740 822) 38 307 374 119 631 138

name = basic

name current median average lower/upper quartile min max
test-vec (2 * 65536 * size_of(u8) = 128 KiB = 2 pages) 832 295 795; +238.86% ‼️ 245 617 796 242 266 382 (207 134 511; 273 173 942) 150 907 136 349 881 331

name = collector-1

name current median average lower/upper quartile min max
collector pass 2 messages 555 854 206; +483.50% ‼️ 95 262 649 94 507 107 (87 461 297; 100 412 617) 70 739 119 127 771 616

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 395 899 490; +5.68% ❗ 8 891 037 579 8 895 000 373 (8 763 006 967; 9 004 959 880) 8 517 551 623 9 413 124 096

name = gui test

name current median average lower/upper quartile min max
gui 11 772 584 646; +2.97% ❗ 11 433 003 350 11 448 205 785 (11 348 164 669; 11 524 371 646) 11 118 872 982 11 865 843 670
7f7c741
Pallet tests (values are in nanoseconds)

Total execution time

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

name = pallet-gas

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 156 000 000; +467.27% ‼️ 27 500 000 29 860 000 (21 500 000; 35 500 000) 6 000 000 82 000 000
property_tests::test_empty_tree 6 076 000 000; +174.31% ‼️ 2 215 000 000 2 215 569 999 (2 180 000 000; 2 253 500 000) 2 035 000 000 2 353 000 000
property_tests::test_tree_properties 10 907 000 000; +136.95% ‼️ 4 603 000 000 4 633 909 999 (4 467 500 000; 4 803 000 000) 4 083 999 999 5 203 000 000
tests::all_keys_are_cleared 61 000 000; +19.61% ✔️ 51 000 000 53 980 000 (39 000 000; 67 000 000) 13 000 000 146 000 000
tests::gas_free_after_consumed 52 000 000; +7.22% ✔️ 48 500 000 49 550 000 (32 000 000; 62 500 000) 15 000 000 125 000 000
tests::limit_vs_origin 37 000 000; -25.25% ✔️ 49 500 000 51 860 000 (40 000 000; 62 000 000) 14 000 000 106 000 000
tests::long_chain 100 000 000; +112.77% ❗ 47 000 000 51 060 000 (34 500 000; 65 000 000) 13 000 000 119 000 000
tests::simple_value_tree 88 000 000; +87.23% ❗ 47 000 000 50 140 000 (34 000 000; 62 000 000) 16 000 000 105 000 000
tests::split_with_no_value 88 000 000; +83.33% ❗ 48 000 000 52 260 000 (37 000 000; 63 000 000) 12 000 000 151 000 000
tests::splits_fail 51 000 000; -5.56% ✔️ 54 000 000 55 760 000 (36 500 000; 67 500 000) 15 000 000 134 000 000
tests::sub_nodes_tree 202 000 000; +316.49% ‼️ 48 500 000 51 130 000 (35 000 000; 61 500 000) 10 000 000 134 000 000
tests::sub_nodes_tree_with_spends 33 000 000; -31.25% ✔️ 48 000 000 52 280 000 (35 000 000; 64 000 000) 14 000 000 142 000 000
tests::subtree_gas_limit_remains_intact 124 000 000; +138.46% ❗ 52 000 000 55 970 000 (39 000 000; 73 000 000) 12 000 000 134 000 000
tests::test_consume_procedure 211 000 000; +309.71% ‼️ 51 500 000 56 150 000 (38 500 000; 70 000 000) 13 000 000 168 000 000
tests::value_tree_known_errors 108 000 000; +101.87% ❗ 53 500 000 56 290 000 (38 000 000; 71 500 000) 15 000 000 126 000 000

name = pallet-gear

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 188 000 000; +408.11% ‼️ 37 000 000 40 680 000 (25 000 000; 50 000 000) 10 000 000 122 000 000
schedule::test::print_test_schedule 134 000 000; +272.22% ‼️ 36 000 000 39 490 000 (20 500 000; 53 500 000) 7 000 000 90 000 000
tests::call_forbidden_function 194 000 000; +243.36% ‼️ 56 500 000 61 270 000 (43 000 000; 78 500 000) 14 000 000 123 000 000
tests::cascading_messages_with_value_do_not_overcharge 708 000 000; +156.99% ‼️ 275 500 000 280 710 000 (236 500 000; 315 000 000) 158 000 000 460 000 000
tests::defer_program_initialization 332 000 000; +165.60% ‼️ 125 000 000 130 310 000 (102 000 000; 152 500 000) 59 000 000 229 000 000
tests::distributor_distribute 332 000 000; +210.28% ‼️ 107 000 000 114 640 000 (88 500 000; 131 000 000) 55 000 000 264 000 000
tests::distributor_initialize 245 000 000; +167.76% ‼️ 91 500 000 96 100 000 (72 000 000; 114 500 000) 37 000 000 184 000 000
tests::events_logging_works 111 000 000; +69.47% ❗ 65 500 000 66 080 000 (48 000 000; 81 000 000) 23 000 000 125 000 000
tests::exit_handle 89 000 000; +27.14% ❗ 70 000 000 70 930 000 (53 000 000; 84 500 000) 19 000 000 154 000 000
tests::exit_init 367 000 000; +358.75% ‼️ 80 000 000 87 580 000 (65 500 000; 101 500 000) 31 000 000 215 000 000
tests::gas_spent_precalculated 385 000 000; +466.18% ‼️ 68 000 000 68 140 000 (50 500 000; 79 000 000) 24 000 000 164 000 000
tests::gas_spent_vs_balance 303 000 000; +77.71% ‼️ 170 500 000 174 270 000 (141 000 000; 206 000 000) 79 000 000 287 000 000
tests::init_message_logging_works 169 000 000; +168.25% ‼️ 63 000 000 65 040 000 (47 000 000; 82 500 000) 19 000 000 131 000 000
tests::init_wait_reply_exit_cleaned_storage 299 000 000; +133.59% ‼️ 128 000 000 130 890 000 (102 000 000; 158 000 000) 49 000 000 298 000 000
tests::lazy_pages 59 000 000; -9.23% ✔️ 65 000 000 69 120 000 (48 500 000; 86 000 000) 24 000 000 156 000 000
tests::mailbox_works 103 000 000; +60.94% ❗ 64 000 000 71 030 000 (52 500 000; 91 500 000) 20 000 000 166 000 000
tests::memory_access_cases 262 000 000; +303.08% ‼️ 65 000 000 68 220 000 (49 500 000; 80 000 000) 28 000 000 134 000 000
tests::messages_processing_works 246 000 000; +303.28% ‼️ 61 000 000 64 210 000 (49 000 000; 76 500 000) 24 000 000 156 000 000
tests::messages_to_paused_program_skipped 266 000 000; +207.51% ‼️ 86 500 000 88 930 000 (61 500 000; 107 000 000) 26 000 000 200 000 000
tests::messages_to_uninitialized_program_wait 165 000 000; +124.49% ❗ 73 500 000 80 790 000 (55 500 000; 100 500 000) 23 000 000 180 000 000
tests::no_redundant_gas_value_after_exiting 136 000 000; +94.29% ❗ 70 000 000 71 410 000 (50 000 000; 87 500 000) 21 000 000 148 000 000
tests::paused_program_keeps_id 234 000 000; +160.00% ‼️ 90 000 000 90 320 000 (64 500 000; 113 500 000) 35 000 000 168 000 000
tests::program_lifecycle_works 156 000 000; +138.17% ❗ 65 500 000 67 510 000 (44 500 000; 80 500 000) 24 000 000 179 000 000
tests::program_messages_to_paused_program_skipped 300 000 000; +151.05% ‼️ 119 500 000 121 400 000 (101 500 000; 143 500 000) 54 000 000 197 000 000
tests::replies_to_paused_program_skipped 136 000 000; +74.36% ❗ 78 000 000 81 520 000 (67 000 000; 93 500 000) 30 000 000 164 000 000
tests::restrict_start_section 130 000 000; +111.38% ❗ 61 500 000 63 590 000 (46 500 000; 80 500 000) 18 000 000 174 000 000
tests::resume_program_works 168 000 000; +51.35% ❗ 111 000 000 114 810 000 (93 000 000; 131 000 000) 51 000 000 249 000 000
tests::send_message_expected_failure 114 000 000; +101.77% ❗ 56 500 000 63 770 000 (42 000 000; 81 500 000) 22 000 000 144 000 000
tests::send_message_works 211 000 000; +227.13% ‼️ 64 500 000 64 130 000 (46 000 000; 78 000 000) 18 000 000 164 000 000
tests::send_reply_failure_to_claim_from_mailbox 134 000 000; +137.17% ❗ 56 500 000 60 780 000 (41 500 000; 75 000 000) 16 000 000 165 000 000
tests::send_reply_value_claiming_works 69 000 000; +6.15% ✔️ 65 000 000 69 640 000 (55 500 000; 84 000 000) 22 000 000 153 000 000
tests::send_reply_works 196 000 000; +211.11% ‼️ 63 000 000 65 220 000 (47 000 000; 78 000 000) 21 000 000 149 000 000
tests::spent_gas_to_reward_block_author_works 82 000 000; +43.86% ❗ 57 000 000 60 730 000 (43 000 000; 76 500 000) 13 000 000 151 000 000
tests::submit_program_expected_failure 68 000 000; +28.30% ✔️ 53 000 000 57 650 000 (39 500 000; 70 500 000) 15 000 000 140 000 000
tests::submit_program_fails_on_duplicate_id 93 000 000; +64.60% ❗ 56 500 000 59 400 000 (45 000 000; 73 500 000) 17 000 000 146 000 000
tests::test_async_messages 1 417 000 000; +157.17% ‼️ 551 000 000 557 720 000 (520 500 000; 593 000 000) 458 000 000 700 000 000
tests::test_code_is_not_reset_within_program_submission 48 000 000; -15.79% ✔️ 57 000 000 55 530 000 (37 000 000; 68 000 000) 11 000 000 123 000 000
tests::test_code_is_not_submitted_twice_after_program_submission 132 000 000; +127.59% ❗ 58 000 000 59 840 000 (40 500 000; 72 500 000) 17 000 000 133 000 000
tests::test_code_submission_pass 67 000 000; +39.58% ❗ 48 000 000 53 890 000 (36 500 000; 67 000 000) 17 000 000 132 000 000
tests::test_create_program_duplicate 518 000 000; +296.93% ‼️ 130 500 000 128 650 000 (104 000 000; 152 500 000) 62 000 000 219 000 000
tests::test_create_program_duplicate_in_one_execution 246 000 000; +160.32% ‼️ 94 500 000 97 860 000 (76 000 000; 117 000 000) 37 000 000 167 000 000
tests::test_create_program_miscellaneous 384 000 000; +198.83% ‼️ 128 500 000 134 780 000 (115 000 000; 153 500 000) 74 000 000 258 000 000
tests::test_create_program_no_code_hash 564 000 000; +142.58% ‼️ 232 500 000 229 480 000 (195 000 000; 262 000 000) 157 000 000 306 000 000
tests::test_create_program_simple 228 000 000; +55.63% ❗ 146 500 000 150 790 000 (124 000 000; 173 500 000) 85 000 000 271 000 000
tests::test_create_program_with_exceeding_value 142 000 000; +97.22% ❗ 72 000 000 75 400 000 (60 500 000; 87 500 000) 28 000 000 146 000 000
tests::test_create_program_with_value_lt_ed 174 000 000; +90.16% ‼️ 91 500 000 94 200 000 (75 500 000; 113 500 000) 45 000 000 172 000 000
tests::test_create_program_without_gas_works 157 000 000; +122.70% ‼️ 70 500 000 73 150 000 (57 000 000; 84 000 000) 29 000 000 156 000 000
tests::test_message_processing_for_non_existing_destination 134 000 000; +131.03% ‼️ 58 000 000 58 410 000 (44 000 000; 71 500 000) 23 000 000 112 000 000
tests::test_reply_to_terminated_program 151 000 000; +102.68% ‼️ 74 500 000 75 630 000 (54 500 000; 91 500 000) 24 000 000 149 000 000
tests::test_same_code_submission_fails 136 000 000; +145.05% ‼️ 55 500 000 58 810 000 (43 000 000; 71 000 000) 27 000 000 115 000 000
tests::test_two_contracts_composition_works 804 000 000; +299.01% ‼️ 201 500 000 204 710 000 (179 000 000; 223 000 000) 122 000 000 341 000 000
tests::uninitialized_program_should_accept_replies 124 000 000; +25.89% ❗ 98 500 000 101 940 000 (79 500 000; 118 000 000) 50 000 000 185 000 000
tests::unstoppable_block_execution_works 100 000 000; +68.07% ❗ 59 500 000 64 280 000 (49 000 000; 75 000 000) 23 000 000 153 000 000
tests::unused_gas_released_back_works 169 000 000; +218.87% ‼️ 53 000 000 55 310 000 (40 000 000; 66 500 000) 18 000 000 122 000 000
tests::wake_messages_after_program_inited 627 000 000; +239.84% ‼️ 184 500 000 190 410 000 (157 000 000; 220 500 000) 121 000 000 302 000 000

name = pallet-gear-debug

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

name = pallet-gear-messenger

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 68 000 000; +119.35% ❗ 31 000 000 32 570 000 (19 500 000; 43 000 000) 4 000 000 77 000 000
tests::dequeued_impl_works_manually 143 000 000; +186.00% ‼️ 50 000 000 49 700 000 (37 000 000; 60 000 000) 18 000 000 85 000 000
tests::queue_processing_impl_works_manually 92 000 000; +84.00% ❗ 50 000 000 48 700 000 (36 000 000; 62 000 000) 10 000 000 118 000 000
tests::queue_works 92 000 000; +89.69% ❗ 48 500 000 48 400 000 (35 000 000; 58 000 000) 13 000 000 109 000 000
tests::sent_impl_works 118 000 000; +145.83% ‼️ 48 000 000 50 250 000 (35 500 000; 64 500 000) 9 000 000 105 000 000

name = pallet-gear-payment

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 91 000 000; +167.65% ‼️ 34 000 000 35 550 000 (20 000 000; 48 000 000) 8 000 000 78 000 000
tests::custom_fee_multiplier_updated_per_block 147 000 000; +250.00% ‼️ 42 000 000 44 380 000 (32 000 000; 55 000 000) 13 000 000 107 000 000
tests::fee_rounding_error_bounded_by_multiplier 124 000 000; +163.83% ‼️ 47 000 000 49 010 000 (34 000 000; 58 000 000) 14 000 000 108 000 000
tests::mq_size_affecting_fee_works 123 000 000; +192.86% ‼️ 42 000 000 46 320 000 (31 000 000; 58 500 000) 13 000 000 98 000 000
tests::mq_size_not_affecting_fee_works 56 000 000; +27.27% ✔️ 44 000 000 46 020 000 (32 000 000; 58 000 000) 13 000 000 93 000 000
tests::query_info_and_fee_details_work 88 000 000; +100.00% ❗ 44 000 000 45 640 000 (32 000 000; 60 000 000) 11 000 000 103 000 000

name = pallet-gear-program

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 24 000 000; -30.43% ✔️ 34 500 000 37 220 000 (21 500 000; 53 000 000) 3 000 000 84 000 000
tests::pause_program_twice_fails 96 000 000; +95.92% ‼️ 49 000 000 47 150 000 (32 500 000; 59 500 000) 9 000 000 90 000 000
tests::pause_program_works 157 000 000; +159.50% ‼️ 60 500 000 62 300 000 (48 500 000; 73 000 000) 24 000 000 123 000 000
tests::pause_terminated_program_fails 170 000 000; +254.17% ‼️ 48 000 000 46 850 000 (32 500 000; 61 000 000) 9 000 000 94 000 000
tests::pause_uninitialized_program_works 73 000 000; +21.67% ❗ 60 000 000 61 350 000 (48 000 000; 71 500 000) 22 000 000 115 000 000
tests::resume_program_twice_fails 181 000 000; +124.84% ‼️ 80 500 000 79 680 000 (64 000 000; 94 000 000) 38 000 000 152 000 000
tests::resume_program_wrong_list_fails 222 000 000; +244.19% ‼️ 64 500 000 68 710 000 (53 000 000; 80 500 000) 29 000 000 140 000 000
tests::resume_program_wrong_memory_fails 234 000 000; +244.12% ‼️ 68 000 000 69 890 000 (53 000 000; 85 000 000) 29 000 000 125 000 000
tests::resume_uninitialized_program_works 135 000 000; +98.53% ‼️ 68 000 000 68 910 000 (53 000 000; 81 500 000) 30 000 000 116 000 000

name = pallet-usage

name current median average lower/upper quartile min max
mock::__construct_runtime_integrity_test::runtime_integrity_tests 40 000 000; +14.29% ✔️ 35 000 000 33 760 000 (21 500 000; 45 000 000) 4 000 000 68 000 000
tests::dust_discarded_with_noop 61 000 000; +45.24% ❗ 42 000 000 44 430 000 (32 000 000; 52 000 000) 16 000 000 85 000 000
tests::external_submitter_gets_rewarded 60 000 000; +34.83% ❗ 44 500 000 45 470 000 (34 000 000; 56 000 000) 17 000 000 93 000 000
tests::gas_properly_handled_for_trap_replies 51 000 000; +14.61% ✔️ 44 500 000 44 910 000 (32 000 000; 54 000 000) 14 000 000 105 000 000
tests::ocw_double_charge 48 000 000; +17.07% ✔️ 41 000 000 43 040 000 (29 500 000; 53 500 000) 9 000 000 101 000 000
tests::ocw_interval_maintained 52 000 000; +13.04% ✔️ 46 000 000 45 350 000 (33 000 000; 54 500 000) 15 000 000 86 000 000
tests::ocw_interval_stretches_for_large_wait_list 45 000 000; +4.65% ✔️ 43 000 000 45 860 000 (35 000 000; 56 000 000) 12 000 000 94 000 000
tests::ocw_overlapping_prevented 69 000 000; +68.29% ❗ 41 000 000 43 110 000 (33 000 000; 51 000 000) 12 000 000 86 000 000
tests::rent_charge_works 57 000 000; +35.71% ❗ 42 000 000 43 640 000 (32 500 000; 53 500 000) 12 000 000 88 000 000
tests::trap_reply_message_is_sent 86 000 000; +102.35% ❗ 42 500 000 43 060 000 (31 000 000; 52 000 000) 14 000 000 110 000 000
Runtime tests (values are in nanoseconds)

Total execution time

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

name = Async RwLock

name current median average lower/upper quartile min max
check readers 387 761 993; +707.97% ‼️ 47 991 974 50 553 566 (41 681 010; 56 784 996) 32 760 670 120 929 903
forever lock 505 567 077; +706.63% ‼️ 62 676 558 70 842 105 (56 626 906; 78 314 131) 41 460 260 139 286 319
read while writing 863 133 301; +662.12% ‼️ 113 254 955 121 448 175 (102 722 315; 131 930 845) 76 451 777 198 411 600
rwlock wide 1 643 563 903; +582.49% ‼️ 240 817 673 233 877 878 (205 579 561; 256 505 750) 163 115 606 304 353 296
write while reading 1 118 207 152; +717.61% ‼️ 136 765 286 144 035 836 (122 965 823; 155 769 595) 99 689 873 216 454 957

name = Async init

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

name = Async-await

name current median average lower/upper quartile min max
normal 392 674 108; +411.41% ‼️ 76 782 665 76 278 686 (69 830 836; 84 052 171) 30 610 843 98 661 120
panic 403 704 180; +595.30% ‼️ 58 062 088 64 175 566 (46 931 594; 82 909 286) 36 910 628 103 762 085

name = Async-duplicates-sync

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

name = Async-multisig (well known cases)

name current median average lower/upper quartile min max
2 of 3; bob & alice 17 230 482 323; +84.20% ‼️ 9 354 126 024 9 378 624 274 (9 258 441 193; 9 493 211 336) 8 938 645 225 9 801 402 555
2 of 3; bob & eve 17 523 055 009; +86.61% ‼️ 9 390 152 360 9 386 338 318 (9 287 826 874; 9 500 674 093) 9 015 404 179 9 678 888 626
2 of 3; eve & alice 17 057 912 788; +82.45% ‼️ 9 349 582 130 9 342 176 097 (9 206 326 610; 9 490 528 158) 8 863 000 011 9 765 880 870
2 of 3; eve doesn't answer, alice replies with incorrect payload 14 645 534 996; +58.46% ‼️ 9 242 658 590 9 220 730 238 (9 067 588 785; 9 314 212 909) 8 862 967 969 9 747 476 957
2 of 3; no replies 9 779 553 129; +8.17% ‼️ 9 040 734 826 9 055 523 323 (8 922 289 854; 9 174 705 516) 8 666 699 438 9 467 792 315
Single signatory & zero threshold 10 700 440 702; +15.58% ‼️ 9 257 666 245 9 259 819 385 (9 126 252 632; 9 400 240 911) 8 859 140 149 9 712 730 076
Three signatories & redundand threshold 17 490 922 423; +84.78% ‼️ 9 465 621 475 9 480 965 064 (9 322 073 244; 9 619 589 028) 9 084 827 808 9 993 490 499
Three signatories; Bob replies with incorrect signature 14 982 574 016; +62.87% ‼️ 9 198 940 535 9 226 063 105 (9 070 500 418; 9 341 694 346) 8 826 018 713 9 670 714 588
Three signatories; Eve doesn't answer, Alice replies with incorrect payload 14 828 654 722; +60.77% ‼️ 9 223 654 470 9 232 788 452 (9 111 314 723; 9 346 465 571) 8 893 249 333 9 735 586 386

name = Async-sign (well known cases)

name current median average lower/upper quartile min max
bad signature 5 439 657 287; +10.84% ‼️ 4 907 524 088 4 897 992 232 (4 787 176 554; 5 028 222 195) 4 443 810 727 5 273 972 230
correct signature but for another message 7 052 968 087; +38.34% ‼️ 5 098 348 908 5 074 411 536 (4 960 387 048; 5 201 796 606) 4 587 320 219 5 446 560 503
no reply 5 336 827 231; +8.29% ‼️ 4 928 169 530 4 897 079 183 (4 749 357 364; 5 045 296 829) 4 461 147 158 5 251 656 836
signed message 7 041 939 141; +36.57% ‼️ 5 156 403 030 5 126 816 666 (5 024 845 207; 5 278 332 131) 4 573 874 691 5 437 405 368

name = Basic capacitor check

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

name = Decoder

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

name = Futures-unordered

name current median average lower/upper quartile min max
futures-unordered 2 041 627 511; +526.99% ‼️ 325 624 913 319 975 023 (292 627 634; 351 028 869) 206 050 605 444 488 992
join 1 773 663 210; +598.43% ‼️ 253 950 819 266 505 550 (225 929 628; 301 895 634) 177 866 607 406 443 208
select 1 875 725 034; +603.61% ‼️ 266 584 681 273 422 889 (225 879 300; 320 555 291) 182 151 051 407 031 969

name = Incomplete-async-payloads

name current median average lower/upper quartile min max
incomplete-async-payloads 1 392 188 830; +442.31% ‼️ 256 716 306 250 831 892 (221 186 978; 276 513 565) 151 889 762 345 124 634

name = Memory test

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

name = Messages to failed program are handled properly

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

name = Meta ping (simple check)

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

name = Multiping

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

name = Ping-pong

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

name = Program_id test

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

name = State-rollback

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

name = Test create_program sys-call

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

name = Trap test

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

name = Wait test

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

name = basic

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

name = collector-1

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

name = guestbook test

name current median average lower/upper quartile min max
guestbook 9 412 929 840; +5.63% ❗ 8 911 543 798 8 905 965 979 (8 767 458 755; 9 051 261 415) 8 419 484 173 9 436 516 031

name = gui test

name current median average lower/upper quartile min max
gui 11 880 297 686; +3.96% ❗ 11 427 682 841 11 444 457 134 (11 342 600 825; 11 549 917 401) 11 028 121 769 11 931 994 964

@codecov
Copy link

codecov bot commented Jun 16, 2022

Codecov Report

Merging #1068 (7f7c741) into master (e04f841) will decrease coverage by 0.25%.
The diff coverage is 60.86%.

@@            Coverage Diff             @@
##           master    #1068      +/-   ##
==========================================
- Coverage   74.93%   74.68%   -0.26%     
==========================================
  Files          96       96              
  Lines        9002     9050      +48     
==========================================
+ Hits         6746     6759      +13     
- Misses       2256     2291      +35     
Impacted Files Coverage Δ
gtest/src/lib.rs 100.00% <ø> (ø)
gtest/src/program.rs 71.00% <36.36%> (-7.91%) ⬇️
gtest/src/log.rs 57.39% <50.00%> (-0.80%) ⬇️
gtest/src/manager.rs 72.00% <100.00%> (-2.47%) ⬇️

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 e04f841...7f7c741. Read the comment docs.

examples/binaries/gas-burned/src/lib.rs Outdated Show resolved Hide resolved
gtest/src/manager.rs Outdated Show resolved Hide resolved
Copy link
Member

@techraed techraed left a comment

Choose a reason for hiding this comment

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

given comments under @breathx 's review

@breathx breathx added A3-gotissues PR occurred to have issues after the review and removed A0-pleasereview PR is ready to be reviewed by the team labels Jun 19, 2022
@shamilsan shamilsan added A1-inprogress Issue is in progress or PR draft is not ready to be reviewed and removed A3-gotissues PR occurred to have issues after the review labels Jun 20, 2022
@shamilsan shamilsan added A0-pleasereview PR is ready to be reviewed by the team and removed A1-inprogress Issue is in progress or PR draft is not ready to be reviewed labels Jun 20, 2022
gtest/src/log.rs Outdated Show resolved Hide resolved
gtest/src/program.rs Show resolved Hide resolved
gtest/src/program.rs Show resolved Hide resolved
gtest/Cargo.toml Outdated Show resolved Hide resolved
gtest/Cargo.toml Outdated Show resolved Hide resolved
gtest/src/manager.rs Outdated Show resolved Hide resolved
@shamilsan shamilsan added A1-inprogress Issue is in progress or PR draft is not ready to be reviewed and removed A0-pleasereview PR is ready to be reviewed by the team labels Jun 20, 2022
@shamilsan shamilsan removed the A1-inprogress Issue is in progress or PR draft is not ready to be reviewed label Jun 21, 2022
@shamilsan shamilsan added the A0-pleasereview PR is ready to be reviewed by the team label Jun 21, 2022
@shamilsan shamilsan merged commit 5214c15 into master Jun 21, 2022
@shamilsan shamilsan deleted the sy-add-gas-counter-gtest branch June 21, 2022 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A0-pleasereview PR is ready to be reviewed by the team B1-releasenotes The feature deserves to be added to the Release Notes D5-tooling Helper tools and utilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants