Skip to content

Commit

Permalink
Fix #710 ServiceTracker TSAN warnings (#883)
Browse files Browse the repository at this point in the history
* fixed tracker race

* fixing tsanSupp

* fixing tsan mistakes

* fixed tracker race

* tsan_suppresssions mistype

* fixed comments

* typos
  • Loading branch information
tcormackMW committed Jul 12, 2023
1 parent ab7d455 commit dc9142a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
14 changes: 13 additions & 1 deletion framework/include/cppmicroservices/detail/ServiceTracker.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,21 @@ namespace cppmicroservices
void
ServiceTracker<S, T>::Close()
{

/*
The call to RemoveListener() below must be done while the ServiceTracker object is unlocked because of a
possibility for reentry from customer code. Therefore, we have to swap d->listenerToken to a local variable and
replace it with a default constructed ListenerToken object.
*/
ListenerToken swappedToken;
{
auto l = d->Lock();
US_UNUSED(l);
std::swap(d->listenerToken, swappedToken);
}
try
{
d->context.RemoveListener(std::move(d->listenerToken));
d->context.RemoveListener(std::move(swappedToken));
}
catch (std::runtime_error const& /*e*/)
{
Expand Down
9 changes: 6 additions & 3 deletions tsan_suppressions.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# ServiceTracker/ServiceListener races
race:cppmicroservices::ServiceListeners::RemoveServiceListener
race:cppmicroservices::ServiceTracker*
# Call to WaitFor() in WaitForService() leads to TSAN false-positive
mutex:ServiceTrackerTestFixture_TestServiceTracker_Test::TestBody

# expected race condition that IsRemoved() checks for
race:ServiceTrackerTestFixture_DefaultCustomizerServiceTrackerCloseRace_Test::TestBody

# BundleRegistry races and double lock false-positives
# https://github.com/google/sanitizers/issues/1259
Expand Down Expand Up @@ -32,4 +35,4 @@ mutex:Framework_LifeCycle_Test::TestBody
race:Framework_LifeCycle_Test::TestBody

# Potential Deadlock in CCACtiveState
deadlock:cppmicroservices::scrimpl::CCActiveState::Activate
deadlock:cppmicroservices::scrimpl::CCActiveState::Activate

1 comment on commit dc9142a

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'C++ Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 0.20.

Benchmark suite Current: dc9142a Previous: ab7d455 Ratio
ServiceRegistryFixture/RegisterServices/1/1/manual_time 30162.407871599735 ns/iter 38463.95819458005 ns/iter 0.78
ServiceRegistryFixture/RegisterServices/4/1/manual_time 114058.00783889431 ns/iter 158870.24048096314 ns/iter 0.72
ServiceRegistryFixture/RegisterServices/16/1/manual_time 449392.5290875545 ns/iter 586798.9000000011 ns/iter 0.77
ServiceRegistryFixture/RegisterServices/64/1/manual_time 1814851.6853932077 ns/iter 2449204.4817927363 ns/iter 0.74
ServiceRegistryFixture/RegisterServices/256/1/manual_time 7322238.0952379 ns/iter 9802841.66666674 ns/iter 0.75
ServiceRegistryFixture/RegisterServices/1000/1/manual_time 28892381.481481116 ns/iter 36862166.666666836 ns/iter 0.78
ServiceRegistryFixture/RegisterServices/1/4/manual_time 78719.16950630058 ns/iter 99186.11168349441 ns/iter 0.79
ServiceRegistryFixture/RegisterServices/4/4/manual_time 308649.4009584675 ns/iter 389484.5758354747 ns/iter 0.79
ServiceRegistryFixture/RegisterServices/16/4/manual_time 1257571.564625852 ns/iter 1589957.8849721684 ns/iter 0.79
ServiceRegistryFixture/RegisterServices/64/4/manual_time 4826176.000000021 ns/iter 6187870.999999971 ns/iter 0.78
ServiceRegistryFixture/RegisterServices/256/4/manual_time 19998204.761904735 ns/iter 24494406.451612838 ns/iter 0.82
ServiceRegistryFixture/RegisterServices/1000/4/manual_time 77612775.00000048 ns/iter 100704155.55555525 ns/iter 0.77
ServiceRegistryFixture/RegisterServices/1/16/manual_time 243392.6750659242 ns/iter 306226.11174458417 ns/iter 0.79
ServiceRegistryFixture/RegisterServices/4/16/manual_time 1001382.3886639681 ns/iter 1236417.1428571434 ns/iter 0.81
ServiceRegistryFixture/RegisterServices/16/16/manual_time 3919993.467336688 ns/iter 4770255.844155866 ns/iter 0.82
ServiceRegistryFixture/RegisterServices/64/16/manual_time 15837479.310344853 ns/iter 19505879.545454476 ns/iter 0.81
ServiceRegistryFixture/RegisterServices/256/16/manual_time 59823830 ns/iter 80518984.61538476 ns/iter 0.74
ServiceRegistryFixture/RegisterServices/1000/16/manual_time 240952533.33333382 ns/iter 314388933.33333397 ns/iter 0.77
ServiceRegistryFixture/RegisterServices/1/64/manual_time 847365.6587473007 ns/iter 1009876.9376181491 ns/iter 0.84
ServiceRegistryFixture/RegisterServices/4/64/manual_time 3194196.4566929103 ns/iter 3990675.490196077 ns/iter 0.80
ServiceRegistryFixture/RegisterServices/16/64/manual_time 13238522.077922085 ns/iter 19447191.52542371 ns/iter 0.68
ServiceRegistryFixture/RegisterServices/64/64/manual_time 51094840.00000003 ns/iter 67958420 ns/iter 0.75
ServiceRegistryFixture/RegisterServices/256/64/manual_time 207890825.00000033 ns/iter 301027499.9999998 ns/iter 0.69
ServiceRegistryFixture/RegisterServices/1000/64/manual_time 801560100.0000004 ns/iter 1181239500.0000002 ns/iter 0.68
ServiceRegistryFixture/RegisterServices/1/256/manual_time 2775268.604651163 ns/iter 4146356.603773584 ns/iter 0.67
ServiceRegistryFixture/RegisterServices/4/256/manual_time 11212033.96226415 ns/iter 15535916.666666657 ns/iter 0.72
ServiceRegistryFixture/RegisterServices/16/256/manual_time 42181715.78947371 ns/iter 57473820.000000015 ns/iter 0.73
ServiceRegistryFixture/RegisterServices/64/256/manual_time 177622766.6666667 ns/iter 264784225.00000003 ns/iter 0.67
ServiceRegistryFixture/RegisterServices/256/256/manual_time 647408099.9999999 ns/iter 1058454799.9999992 ns/iter 0.61
ServiceRegistryFixture/RegisterServices/1000/256/manual_time 3236928100.000001 ns/iter 4375062599.999995 ns/iter 0.74
ServiceRegistryFixture/RegisterServices/1/1000/manual_time 8279794.999999999 ns/iter 11418820.610687021 ns/iter 0.73
ServiceRegistryFixture/RegisterServices/4/1000/manual_time 33689048.14814815 ns/iter 42113499.999999985 ns/iter 0.80
ServiceRegistryFixture/RegisterServices/16/1000/manual_time 142226355.55555564 ns/iter 176333857.14285713 ns/iter 0.81
ServiceRegistryFixture/RegisterServices/64/1000/manual_time 546447100 ns/iter 583601100.0000001 ns/iter 0.94
ServiceRegistryFixture/RegisterServices/256/1000/manual_time 2564629399.9999995 ns/iter 3300338600.0000005 ns/iter 0.78
ServiceRegistryFixture/RegisterServices/1000/1000/manual_time 12906945000.000004 ns/iter 16905081400.000011 ns/iter 0.76
ServiceRegistryFixture/RegisterServicesWithRank/1/1/manual_time 28454.453750909815 ns/iter 37920.5366306634 ns/iter 0.75
ServiceRegistryFixture/RegisterServicesWithRank/4/1/manual_time 185505.53637995286 ns/iter 220553.50353069 ns/iter 0.84
ServiceRegistryFixture/RegisterServicesWithRank/16/1/manual_time 607538.8999999972 ns/iter 811210.8000000013 ns/iter 0.75
ServiceRegistryFixture/RegisterServicesWithRank/64/1/manual_time 3198627.397260273 ns/iter 3613604.0293040304 ns/iter 0.89
ServiceRegistryFixture/RegisterServicesWithRank/256/1/manual_time 15036129.310344951 ns/iter 18815377.272727285 ns/iter 0.80
ServiceRegistryFixture/RegisterServicesWithRank/1000/1/manual_time 48015128.57142864 ns/iter 55142613.333333135 ns/iter 0.87
ServiceRegistryFixture/RegisterServicesWithRank/1/4/manual_time 80968.64588487562 ns/iter 100457.9144710175 ns/iter 0.81
ServiceRegistryFixture/RegisterServicesWithRank/4/4/manual_time 391006.3166880065 ns/iter 461711.35734072095 ns/iter 0.85
ServiceRegistryFixture/RegisterServicesWithRank/16/4/manual_time 1790121.982758617 ns/iter 2113354.934823081 ns/iter 0.85
ServiceRegistryFixture/RegisterServicesWithRank/64/4/manual_time 6073048.000000004 ns/iter 7906952.999999996 ns/iter 0.77
ServiceRegistryFixture/RegisterServicesWithRank/256/4/manual_time 28248781.08108123 ns/iter 33662282.75862079 ns/iter 0.84
ServiceRegistryFixture/RegisterServicesWithRank/1000/4/manual_time 119118349.9999993 ns/iter 133764155.55555603 ns/iter 0.89
ServiceRegistryFixture/RegisterServicesWithRank/1/16/manual_time 251089.2910559378 ns/iter 313607.8486055785 ns/iter 0.80
ServiceRegistryFixture/RegisterServicesWithRank/4/16/manual_time 1135976.0890609908 ns/iter 1355491.1727616694 ns/iter 0.84
ServiceRegistryFixture/RegisterServicesWithRank/16/16/manual_time 4368463.888888892 ns/iter 5234560.544217686 ns/iter 0.83
ServiceRegistryFixture/RegisterServicesWithRank/64/16/manual_time 18760382.142857186 ns/iter 23160939.534883697 ns/iter 0.81
ServiceRegistryFixture/RegisterServicesWithRank/256/16/manual_time 69232910.0000001 ns/iter 96905549.99999975 ns/iter 0.71
ServiceRegistryFixture/RegisterServicesWithRank/1000/16/manual_time 270173166.6666663 ns/iter 340158233.3333332 ns/iter 0.79
ServiceRegistryFixture/RegisterServicesWithRank/1/64/manual_time 864292.4382716066 ns/iter 1049554.774396643 ns/iter 0.82
ServiceRegistryFixture/RegisterServicesWithRank/4/64/manual_time 3234125.278810406 ns/iter 4026643.925233645 ns/iter 0.80
ServiceRegistryFixture/RegisterServicesWithRank/16/64/manual_time 13928212.820512814 ns/iter 17419554.098360676 ns/iter 0.80
ServiceRegistryFixture/RegisterServicesWithRank/64/64/manual_time 53098200.00000001 ns/iter 63426550 ns/iter 0.84
ServiceRegistryFixture/RegisterServicesWithRank/256/64/manual_time 215332674.99999988 ns/iter 262700166.66666684 ns/iter 0.82
ServiceRegistryFixture/RegisterServicesWithRank/1000/64/manual_time 813057800.0000002 ns/iter 1033510299.9999996 ns/iter 0.79
ServiceRegistryFixture/RegisterServicesWithRank/1/256/manual_time 2704338.9999999995 ns/iter 3369300.7843137225 ns/iter 0.80
ServiceRegistryFixture/RegisterServicesWithRank/4/256/manual_time 11231152.542372892 ns/iter 14158482.291666664 ns/iter 0.79
ServiceRegistryFixture/RegisterServicesWithRank/16/256/manual_time 42453410.52631578 ns/iter 51625026.666666694 ns/iter 0.82
ServiceRegistryFixture/RegisterServicesWithRank/64/256/manual_time 182696750.00000003 ns/iter 219168180.0000001 ns/iter 0.83
ServiceRegistryFixture/RegisterServicesWithRank/256/256/manual_time 661654700.0000005 ns/iter 857095499.9999995 ns/iter 0.77
ServiceRegistryFixture/RegisterServicesWithRank/1000/256/manual_time 3301486999.9999995 ns/iter 4341585599.999996 ns/iter 0.76
ServiceRegistryFixture/RegisterServicesWithRank/1/1000/manual_time 8383448 ns/iter 10819089.000000002 ns/iter 0.77
ServiceRegistryFixture/RegisterServicesWithRank/4/1000/manual_time 31501977.41935484 ns/iter 38418179.16666666 ns/iter 0.82
ServiceRegistryFixture/RegisterServicesWithRank/16/1000/manual_time 139767866.66666663 ns/iter 168270428.5714285 ns/iter 0.83
ServiceRegistryFixture/RegisterServicesWithRank/64/1000/manual_time 538046300.0000001 ns/iter 606801400 ns/iter 0.89
ServiceRegistryFixture/RegisterServicesWithRank/256/1000/manual_time 2648315999.9999995 ns/iter 3514068300 ns/iter 0.75
ServiceRegistryFixture/RegisterServicesWithRank/1000/1000/manual_time 13300411499.999996 ns/iter 17591210300 ns/iter 0.76
ServiceRegistryFixture/FindServices/1/1 2140.650312500014 ns/iter 2747.4018538416153 ns/iter 0.78
ServiceRegistryFixture/FindServices/4/1 3952.6081203419076 ns/iter 4837.916071421335 ns/iter 0.82
ServiceRegistryFixture/FindServices/16/1 11336.306249997819 ns/iter 14109.149553576117 ns/iter 0.80
ServiceRegistryFixture/FindServices/64/1 41321.96106792067 ns/iter 50949.26000001578 ns/iter 0.81
ServiceRegistryFixture/FindServices/256/1 151682.76785715309 ns/iter 195036.19073130673 ns/iter 0.78
ServiceRegistryFixture/FindServices/1000/1 569430.6250000686 ns/iter 755085.044642913 ns/iter 0.75
ServiceRegistryFixture/FindServices/1/4 8804.359355539002 ns/iter 10758.637684662903 ns/iter 0.82
ServiceRegistryFixture/FindServices/4/4 16186.1450892837 ns/iter 20373.382276110755 ns/iter 0.79
ServiceRegistryFixture/FindServices/16/4 45923.9536596871 ns/iter 58964.20999997645 ns/iter 0.78
ServiceRegistryFixture/FindServices/64/4 167732.1874999852 ns/iter 208406.61636664698 ns/iter 0.80
ServiceRegistryFixture/FindServices/256/4 616350.4999999532 ns/iter 787707.1428582992 ns/iter 0.78
ServiceRegistryFixture/FindServices/1000/4 2324789.9665553165 ns/iter 3045201.69491575 ns/iter 0.76
ServiceRegistryFixture/FindServices/1/16 35189.43936750026 ns/iter 43467.620403951965 ns/iter 0.81
ServiceRegistryFixture/FindServices/4/16 63915.633928571326 ns/iter 83871.54017859595 ns/iter 0.76
ServiceRegistryFixture/FindServices/16/16 183421.33562486488 ns/iter 230755.2058921 ns/iter 0.79
ServiceRegistryFixture/FindServices/64/16 685866.741071501 ns/iter 853286.9419651337 ns/iter 0.80
ServiceRegistryFixture/FindServices/256/16 2414898.3277595057 ns/iter 3184990.254239738 ns/iter 0.76
ServiceRegistryFixture/FindServices/1000/16 9218606.66666665 ns/iter 13032766.071416648 ns/iter 0.71
ServiceRegistryFixture/FindServices/1/64 138435.25512255484 ns/iter 188206.45593326466 ns/iter 0.74
ServiceRegistryFixture/FindServices/4/64 259080.89285711152 ns/iter 346530.5672765027 ns/iter 0.75
ServiceRegistryFixture/FindServices/16/64 741289.2857142797 ns/iter 959357.6974544006 ns/iter 0.77
ServiceRegistryFixture/FindServices/64/64 2703942.4242418315 ns/iter 3430356.8627454336 ns/iter 0.79
ServiceRegistryFixture/FindServices/256/64 9716449.9999991 ns/iter 12734133.999983897 ns/iter 0.76
ServiceRegistryFixture/FindServices/1000/64 36694578.94737829 ns/iter 51277390.90907694 ns/iter 0.72
ServiceRegistryFixture/FindServices/1/256 577335.8928570766 ns/iter 746080.1339281683 ns/iter 0.77
ServiceRegistryFixture/FindServices/4/256 1090290.7812500473 ns/iter 1375467.871487975 ns/iter 0.79
ServiceRegistryFixture/FindServices/16/256 3267427.230045921 ns/iter 3917831.3953460357 ns/iter 0.83
ServiceRegistryFixture/FindServices/64/256 11774901.562500162 ns/iter 14398242.222200174 ns/iter 0.82
ServiceRegistryFixture/FindServices/256/256 41703829.411758035 ns/iter 54386559.99987532 ns/iter 0.77
ServiceRegistryFixture/FindServices/1000/256 160565075.00002226 ns/iter 212501033.3335619 ns/iter 0.76
ServiceRegistryFixture/FindServices/1/1000 2333825.4180607903 ns/iter 2898926.2711886917 ns/iter 0.81
ServiceRegistryFixture/FindServices/4/1000 4380586.250000818 ns/iter 5600957.000006019 ns/iter 0.78
ServiceRegistryFixture/FindServices/16/1000 12540835.714288179 ns/iter 15612942.222206686 ns/iter 0.80
ServiceRegistryFixture/FindServices/64/1000 46487293.33333298 ns/iter 57693054.54536648 ns/iter 0.81
ServiceRegistryFixture/FindServices/256/1000 169917375.00001135 ns/iter 215413466.66648075 ns/iter 0.79
ServiceRegistryFixture/FindServices/1000/1000 640115100.0000027 ns/iter 870624500.0012132 ns/iter 0.74
ServiceRegistryFixture/UnregisterServices/1/1/manual_time 2805.3764692232903 ns/iter 3763.1994909343944 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/4/1/manual_time 11148.916955922788 ns/iter 14677.915413568759 ns/iter 0.76
ServiceRegistryFixture/UnregisterServices/16/1/manual_time 46450.49901554256 ns/iter 60802.75525327127 ns/iter 0.76
ServiceRegistryFixture/UnregisterServices/64/1/manual_time 208237.05226053056 ns/iter 271383.8436744168 ns/iter 0.77
ServiceRegistryFixture/UnregisterServices/256/1/manual_time 1081241.7475726104 ns/iter 1460005.9917354332 ns/iter 0.74
ServiceRegistryFixture/UnregisterServices/1000/1/manual_time 8118552.873563136 ns/iter 11560303.389830418 ns/iter 0.70
ServiceRegistryFixture/UnregisterServices/1/4/manual_time 3426.1546224044405 ns/iter 4365.423425477991 ns/iter 0.78
ServiceRegistryFixture/UnregisterServices/4/4/manual_time 13257.43097013889 ns/iter 17574.590750962863 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/16/4/manual_time 54735.62178184754 ns/iter 72800.34312238803 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/64/4/manual_time 262826.07223477267 ns/iter 358656.706114345 ns/iter 0.73
ServiceRegistryFixture/UnregisterServices/256/4/manual_time 1724858.3126550834 ns/iter 2925219.521912363 ns/iter 0.59
ServiceRegistryFixture/UnregisterServices/1000/4/manual_time 16745092.682926936 ns/iter 22048862.06896578 ns/iter 0.76
ServiceRegistryFixture/UnregisterServices/1/16/manual_time 5757.947949512367 ns/iter 7567.357624658877 ns/iter 0.76
ServiceRegistryFixture/UnregisterServices/4/16/manual_time 20018.1771236807 ns/iter 25757.14390358934 ns/iter 0.78
ServiceRegistryFixture/UnregisterServices/16/16/manual_time 89592.67731628977 ns/iter 114595.67447427187 ns/iter 0.78
ServiceRegistryFixture/UnregisterServices/64/16/manual_time 501943.7047756923 ns/iter 696540.5328258969 ns/iter 0.72
ServiceRegistryFixture/UnregisterServices/256/16/manual_time 4318568.902439045 ns/iter 7408192.920354035 ns/iter 0.58
ServiceRegistryFixture/UnregisterServices/1000/16/manual_time 51988628.57142913 ns/iter 71292954.54545476 ns/iter 0.73
ServiceRegistryFixture/UnregisterServices/1/64/manual_time 15420.559422250595 ns/iter 22109.708950779852 ns/iter 0.70
ServiceRegistryFixture/UnregisterServices/4/64/manual_time 48338.840216948076 ns/iter 61830.349405367255 ns/iter 0.78
ServiceRegistryFixture/UnregisterServices/16/64/manual_time 224020.27634962706 ns/iter 292273.97145256045 ns/iter 0.77
ServiceRegistryFixture/UnregisterServices/64/64/manual_time 1479134.5188284651 ns/iter 2030450.5747126339 ns/iter 0.73
ServiceRegistryFixture/UnregisterServices/256/64/manual_time 14667442.55319152 ns/iter 18532875.000000037 ns/iter 0.79
ServiceRegistryFixture/UnregisterServices/1000/64/manual_time 183829625.00000042 ns/iter 234801766.6666664 ns/iter 0.78
ServiceRegistryFixture/UnregisterServices/1/256/manual_time 92355.41052082118 ns/iter 123335.52607668613 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/4/256/manual_time 307937.36933798017 ns/iter 410957.38194859657 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/16/256/manual_time 1335815.2671755631 ns/iter 1969143.2748538018 ns/iter 0.68
ServiceRegistryFixture/UnregisterServices/64/256/manual_time 8051363.63636361 ns/iter 11220609.37499997 ns/iter 0.72
ServiceRegistryFixture/UnregisterServices/256/256/manual_time 66407309.09090895 ns/iter 86641957.14285707 ns/iter 0.77
ServiceRegistryFixture/UnregisterServices/1000/256/manual_time 766427399.9999993 ns/iter 1028788900.0000008 ns/iter 0.74
ServiceRegistryFixture/UnregisterServices/1/1000/manual_time 420642.3668639048 ns/iter 574071.1279461277 ns/iter 0.73
ServiceRegistryFixture/UnregisterServices/4/1000/manual_time 1431554.2168674697 ns/iter 2173542.258064517 ns/iter 0.66
ServiceRegistryFixture/UnregisterServices/16/1000/manual_time 6845320.388349527 ns/iter 9761109.459459452 ns/iter 0.70
ServiceRegistryFixture/UnregisterServices/64/1000/manual_time 38175961.11111111 ns/iter 50865930.76923076 ns/iter 0.75
ServiceRegistryFixture/UnregisterServices/256/1000/manual_time 300428899.99999994 ns/iter 404858300.00000006 ns/iter 0.74
ServiceRegistryFixture/UnregisterServices/1000/1000/manual_time 3239299099.9999905 ns/iter 4179626699.9999948 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/1/1/manual_time 5996.0734391311225 ns/iter 7604.293165143085 ns/iter 0.79
ServiceRegistryFixture/ModifyServices/4/1/manual_time 23914.520577386156 ns/iter 29891.914345376186 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/16/1/manual_time 99534.62938692405 ns/iter 129540.45420974758 ns/iter 0.77
ServiceRegistryFixture/ModifyServices/64/1/manual_time 389635.7182168412 ns/iter 506218.6627479787 ns/iter 0.77
ServiceRegistryFixture/ModifyServices/256/1/manual_time 1595288.4090909082 ns/iter 2146318.31395349 ns/iter 0.74
ServiceRegistryFixture/ModifyServices/1000/1/manual_time 6067837.719298245 ns/iter 8386168.354430378 ns/iter 0.72
ServiceRegistryFixture/ModifyServices/1/4/manual_time 6854.85747472521 ns/iter 8275.290432064663 ns/iter 0.83
ServiceRegistryFixture/ModifyServices/4/4/manual_time 24485.68416613893 ns/iter 31546.563124027558 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/16/4/manual_time 97024.10663641455 ns/iter 127213.10556760587 ns/iter 0.76
ServiceRegistryFixture/ModifyServices/64/4/manual_time 436043.16267012374 ns/iter 544064.0423921268 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/256/4/manual_time 1728649.1841491833 ns/iter 2214138.4146341453 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/1000/4/manual_time 6237633.333333334 ns/iter 8860610.975609759 ns/iter 0.70
ServiceRegistryFixture/ModifyServices/1/16/manual_time 7384.809426452221 ns/iter 9154.643502287809 ns/iter 0.81
ServiceRegistryFixture/ModifyServices/4/16/manual_time 27657.62340608493 ns/iter 34368.18993388875 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/16/16/manual_time 109966.19195046609 ns/iter 140979.27783350056 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/64/16/manual_time 451372.33502538054 ns/iter 611836.683848797 ns/iter 0.74
ServiceRegistryFixture/ModifyServices/256/16/manual_time 1983278.3068783071 ns/iter 2448434.859154931 ns/iter 0.81
ServiceRegistryFixture/ModifyServices/1000/16/manual_time 7134687.777777775 ns/iter 11313816.41791045 ns/iter 0.63
ServiceRegistryFixture/ModifyServices/1/64/manual_time 9860.155755167927 ns/iter 12712.931112435212 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/4/64/manual_time 38503.77958909926 ns/iter 48321.17842094436 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/16/64/manual_time 154046.20565783457 ns/iter 195983.3379158639 ns/iter 0.79
ServiceRegistryFixture/ModifyServices/64/64/manual_time 654605.5360281196 ns/iter 819384.8928974065 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/256/64/manual_time 2695924.8091603033 ns/iter 3561277.3869346757 ns/iter 0.76
ServiceRegistryFixture/ModifyServices/1000/64/manual_time 10155734.782608695 ns/iter 13906412 ns/iter 0.73
ServiceRegistryFixture/ModifyServices/1/256/manual_time 45219.37829836544 ns/iter 55604.46506741535 ns/iter 0.81
ServiceRegistryFixture/ModifyServices/4/256/manual_time 180891.79007534336 ns/iter 224027.11096732382 ns/iter 0.81
ServiceRegistryFixture/ModifyServices/16/256/manual_time 728699.5872033027 ns/iter 908325.0965250958 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/64/256/manual_time 2975646.6960352426 ns/iter 3936893.7500000033 ns/iter 0.76
ServiceRegistryFixture/ModifyServices/256/256/manual_time 12514771.428571427 ns/iter 16830024.390243903 ns/iter 0.74
ServiceRegistryFixture/ModifyServices/1000/256/manual_time 50165130 ns/iter 64706754.54545455 ns/iter 0.78
ServiceRegistryFixture/ModifyServices/1/1000/manual_time 198766.5158371048 ns/iter 249008.40590685423 ns/iter 0.80
ServiceRegistryFixture/ModifyServices/4/1000/manual_time 815582.9885057467 ns/iter 1028148.548387096 ns/iter 0.79
ServiceRegistryFixture/ModifyServices/16/1000/manual_time 3272802.3255813946 ns/iter 4332936.309523808 ns/iter 0.76
ServiceRegistryFixture/ModifyServices/64/1000/manual_time 13395298.113207545 ns/iter 18822125.64102564 ns/iter 0.71
ServiceRegistryFixture/ModifyServices/256/1000/manual_time 54129046.15384615 ns/iter 73175379.99999999 ns/iter 0.74
ServiceRegistryFixture/ModifyServices/1000/1000/manual_time 223112900 ns/iter 299954550 ns/iter 0.74
ServiceTrackerFixture/OpenServiceTrackerWithSvcRef/manual_time 6341.295799319542 ns/iter 8600.90800049456 ns/iter 0.74
ServiceTrackerFixture/OpenServiceTrackerWithBundleContext/manual_time 9134.216971430444 ns/iter 11418.94491452749 ns/iter 0.80
ServiceTrackerFixture/OpenServiceTrackerWithInterfaceName/manual_time 7913.793644572769 ns/iter 9989.690014434622 ns/iter 0.79
CloseServiceTracker/1000 7107.142857145325 ns/iter 9372.953125007047 ns/iter 0.76
CloseServiceTracker/1024 7144.1406250016835 ns/iter 9087.046874997539 ns/iter 0.79
CloseServiceTracker/2048 7169.335937499609 ns/iter 9329.051656011205 ns/iter 0.77
CloseServiceTracker/4096 7098.891741073032 ns/iter 9368.659514904877 ns/iter 0.76
CloseServiceTracker/8192 7199.127678571163 ns/iter 9310.47584607844 ns/iter 0.77
CloseServiceTracker/16384 7339.4187499989785 ns/iter 9811.29950313172 ns/iter 0.75
CloseServiceTracker/32768 7373.258928566884 ns/iter 9755.63903734286 ns/iter 0.76
CloseServiceTracker/65536 7537.327008927873 ns/iter 10330.933344028992 ns/iter 0.73
CloseServiceTracker/131072 7774.883928572 ns/iter 10418.653488164637 ns/iter 0.75
CloseServiceTracker/262144 7900.62589285867 ns/iter 10368.855357130866 ns/iter 0.76
CloseServiceTracker/524288 7765.9988839329235 ns/iter 12617.621875023133 ns/iter 0.62
CloseServiceTracker/1000000 11694.042883738013 ns/iter 10667.418002607243 ns/iter 1.10
ServiceTrackerFixture/ServiceTrackerScalability/1 34190.9014203406 ns/iter 44771.73124996625 ns/iter 0.76
ServiceTrackerFixture/ServiceTrackerScalability/4000 23489723.333326157 ns/iter 33237319.047614057 ns/iter 0.71
ServiceTrackerFixture/ServiceTrackerScalability/10000 65092372.727287345 ns/iter 90518566.66661075 ns/iter 0.72
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/1 34150.79910715641 ns/iter 44761.043813667835 ns/iter 0.76
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/4000 136054716.66664925 ns/iter 177967699.99995378 ns/iter 0.76
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/10000 339740950.00007766 ns/iter 469058550.0002271 ns/iter 0.72
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/1 30353.21974728018 ns/iter 39464.90598379344 ns/iter 0.77
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/4000 3437175.9803929417 ns/iter 4812924.161079909 ns/iter 0.71
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/10000 9346075.000003396 ns/iter 16677957.777776303 ns/iter 0.56
AnyMapPerfTestFixture/HappyPath/1 452.64055286396217 ns/iter 581.3705357143459 ns/iter 0.78
AnyMapPerfTestFixture/HappyPath/3 1337.6692019330792 ns/iter 1678.1539655199915 ns/iter 0.80
AnyMapPerfTestFixture/HappyPath/7 3019.5568919662405 ns/iter 3754.1424033224357 ns/iter 0.80
AnyMapPerfTestFixture/HappyPath/11 4676.6809747357765 ns/iter 5804.3187499866435 ns/iter 0.81
AnyMapPerfTestFixture/HappyPath/15 6440.585714285264 ns/iter 8106.8984375016435 ns/iter 0.79
AnyMapPerfTestFixture/HappyPath/18 7692.011160713719 ns/iter 9898.085937493306 ns/iter 0.78
AnyMapPerfTestFixture/HappyPath/20 8568.232142859448 ns/iter 10884.25624999445 ns/iter 0.79
AnyMapPerfTestFixture/ErrorPath/1 5952.6285714274045 ns/iter 7025.004464285953 ns/iter 0.85
AnyMapPerfTestFixture/ErrorPath/3 8613.368303573208 ns/iter 9844.608729436617 ns/iter 0.87
AnyMapPerfTestFixture/ErrorPath/7 13173.885714284746 ns/iter 16034.524553560912 ns/iter 0.82
AnyMapPerfTestFixture/ErrorPath/11 17953.341547697695 ns/iter 21844.63125001912 ns/iter 0.82
AnyMapPerfTestFixture/ErrorPath/15 22553.009375002377 ns/iter 32132.41994456245 ns/iter 0.70
AnyMapPerfTestFixture/ErrorPath/18 26479.189285704968 ns/iter 30995.33586459117 ns/iter 0.85
AnyMapPerfTestFixture/ErrorPath/20 28595.536180643645 ns/iter 34147.55450794731 ns/iter 0.84
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/1 683.0775000001462 ns/iter 863.8950161174148 ns/iter 0.79
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/3 1882.7722167599866 ns/iter 2369.586194661088 ns/iter 0.79
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/7 4204.948696519773 ns/iter 5921.931250002542 ns/iter 0.71
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/11 6582.765178572053 ns/iter 8544.248463179072 ns/iter 0.77
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/15 8900.595979480087 ns/iter 12229.58214287116 ns/iter 0.73
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/18 10553.125000001273 ns/iter 14514.321587864111 ns/iter 0.73
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/20 11722.251785719045 ns/iter 14475.888231398769 ns/iter 0.81
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/1 442.02662043921373 ns/iter 594.7934821425147 ns/iter 0.74
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/3 1652.829674444113 ns/iter 2085.764374999144 ns/iter 0.79
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/7 3943.2332589304865 ns/iter 5138.061607145314 ns/iter 0.77
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/11 6300.8044642824 ns/iter 8055.727678575002 ns/iter 0.78
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/15 8521.854910712127 ns/iter 10977.620312473846 ns/iter 0.78
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/18 10327.234375004935 ns/iter 13345.710714280098 ns/iter 0.77
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/20 11791.64999999622 ns/iter 14697.099120125647 ns/iter 0.80
BundleInstallFixture/BundleInstallCppFramework/manual_time 258475.03665689114 ns/iter 412391.040288635 ns/iter 0.63
BundleInstallFixture/LargeBundleInstallCppFramework/manual_time 247336.73036093422 ns/iter 409273.139534884 ns/iter 0.60
ConstructFilterFromString 671.6400892859805 ns/iter 850.1625222486794 ns/iter 0.79
ConstructNonTrivialFilterFromString 1033.3940625002924 ns/iter 1351.274262823152 ns/iter 0.76
MatchFilterWithAnyMap/Simple 431.8892499998128 ns/iter 600.8302678570284 ns/iter 0.72
MatchFilterWithAnyMap/Complex 476.4923769739771 ns/iter 667.2815178571259 ns/iter 0.71
MatchFilterWithBundle/Simple 212.03469142708607 ns/iter 259.6314490911026 ns/iter 0.82
MatchFilterWithBundle/Complex 354.42123680446036 ns/iter 443.28486390558777 ns/iter 0.80
MatchFilterWithServiceReference/Simple 206.80431249999742 ns/iter 290.5900389970864 ns/iter 0.71
MatchFilterWithServiceReference/Complex 256.0745357142683 ns/iter 340.6964079111208 ns/iter 0.75
ConstructFilterIncremental 2316.923195398912 ns/iter 2976.5650645302535 ns/iter 0.78
ConstructFilterNotOperator 1017.440304713925 ns/iter 1251.9655357144595 ns/iter 0.81
ServiceFixture/GetServiceReferenceByInterface 1492.6948660709222 ns/iter 1912.1802787306112 ns/iter 0.78
ServiceFixture/GetServiceReferenceByClassName 1276.3755357143834 ns/iter 1664.3448660715876 ns/iter 0.77
ServiceFixture/GetAllServiceReferencesByInterface 1288.4076785707878 ns/iter 1636.4010146438036 ns/iter 0.79
ServiceFixture/GetAllServiceReferencesByClassName 957.7534563601936 ns/iter 1245.8612500008064 ns/iter 0.77
ServiceFixture/GetAllServiceReferencesByClassNameAndLDAPFilter 771.7457142855924 ns/iter 963.8456250002035 ns/iter 0.80
ServiceFixture/GetAllServiceReferencesByInterfaceAndLDAPFilter 690.1575000000548 ns/iter 901.5557135914613 ns/iter 0.77

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.