Details
-
Task
-
Resolution: Won't Do
-
Minor - P4
-
None
-
None
-
None
-
None
-
Service Arch 2021-03-22
Description
We create a new CancelationToken for each call to CancelationToken::uncancelable() here. Unfortunately, this makes each invocation take more time than is necessary. We should shift the function to construct an uncancelable state once and reuse it for each invocation.
|
Benchmark without static variable |
|
Show all |
2021-01-06 21:27:03
|
Running install/bin/cancelation_bm
|
Run on (16 X 2299.97 MHz CPU s)
|
CPU Caches:
|
L1 Data 32K (x8)
|
L1 Instruction 32K (x8)
|
L2 Unified 256K (x8)
|
L3 Unified 46080K (x1)
|
Load Average: 0.29, 0.42, 0.34
|
--------------------------------------------------------------------------------------
|
Benchmark Time CPU Iterations
|
--------------------------------------------------------------------------------------
|
BM_create_single_token_from_source 14.1 ns 14.1 ns 49630229
|
BM_uncancelable_token_ctor 172 ns 172 ns 4077472
|
BM_cancel_tokens_from_single_source/1 1507 ns 1509 ns 464189
|
BM_cancel_tokens_from_single_source/10 1998 ns 2000 ns 350055
|
BM_cancel_tokens_from_single_source/100 6985 ns 6982 ns 100347
|
BM_cancel_tokens_from_single_source/1000 59314 ns 59304 ns 11813
|
BM_cancel_tokens_from_single_source/10000 864175 ns 863888 ns 915
|
BM_cancel_tokens_from_single_source/100000 9274757 ns 9270859 ns 73
|
BM_cancel_tokens_from_single_source/1000000 127268434 ns 127259349 ns 6
|
BM_check_if_token_from_source_canceled 0.371 ns 0.371 ns 1000000000
|
BM_cancelation_source_from_token_ctor 934 ns 934 ns 1161130
|
BM_cancelation_source_default_ctor 187 ns 187 ns 3745716
|
BM_ranged_depth_cancelation_hierarchy/1 1788 ns 1789 ns 391206
|
BM_ranged_depth_cancelation_hierarchy/10 4735 ns 4736 ns 148036
|
BM_ranged_depth_cancelation_hierarchy/100 36921 ns 36914 ns 18951
|
BM_ranged_depth_cancelation_hierarchy/1000 497926 ns 497745 ns 1405
|
|
Benchmark with static variable |
|
Show all |
2021-01-06 21:23:52
|
Running install/bin/cancelation_bm
|
Run on (16 X 2299.97 MHz CPU s)
|
CPU Caches:
|
L1 Data 32K (x8)
|
L1 Instruction 32K (x8)
|
L2 Unified 256K (x8)
|
L3 Unified 46080K (x1)
|
Load Average: 0.88, 0.43, 0.32
|
--------------------------------------------------------------------------------------
|
Benchmark Time CPU Iterations
|
--------------------------------------------------------------------------------------
|
BM_create_single_token_from_source 14.1 ns 14.1 ns 49627405
|
BM_uncancelable_token_ctor 14.1 ns 14.1 ns 49631845
|
BM_cancel_tokens_from_single_source/1 1494 ns 1496 ns 468025
|
BM_cancel_tokens_from_single_source/10 1985 ns 1988 ns 352574
|
BM_cancel_tokens_from_single_source/100 6950 ns 6957 ns 100612
|
BM_cancel_tokens_from_single_source/1000 59051 ns 59100 ns 11844
|
BM_cancel_tokens_from_single_source/10000 843504 ns 843279 ns 928
|
BM_cancel_tokens_from_single_source/100000 9178104 ns 9178246 ns 78
|
BM_cancel_tokens_from_single_source/1000000 126632492 ns 126614691 ns 6
|
BM_check_if_token_from_source_canceled 0.371 ns 0.371 ns 1000000000
|
BM_cancelation_source_from_token_ctor 928 ns 928 ns 1161740
|
BM_cancelation_source_default_ctor 190 ns 190 ns 3683515
|
BM_ranged_depth_cancelation_hierarchy/1 1771 ns 1773 ns 394449
|
BM_ranged_depth_cancelation_hierarchy/10 4707 ns 4709 ns 148645
|
BM_ranged_depth_cancelation_hierarchy/100 38334 ns 38387 ns 18246
|
BM_ranged_depth_cancelation_hierarchy/1000 478853 ns 478903 ns 1462
|