Skip to content

Commit

Permalink
Fix #846 (#878)
Browse files Browse the repository at this point in the history
* firstCommit

* events is all wait for false flags

* removed txt files

Signed-off-by: tcormack <tcormack@mathworks.com>

* serviceTracker tsan fixes

Signed-off-by: tcormack <tcormack@mathworks.com>

* deleted txt

Signed-off-by: tcormack <tcormack@mathworks.com>

* tsanSupppressions updated for various tests

Signed-off-by: tcormack <tcormack@mathworks.com>

* removed text files

Signed-off-by: tcormack <tcormack@mathworks.com>

* removed test

* added comment

Signed-off-by: tcormack <tcormack@mathworks.com>

* updated suppresssions file with commentss

* add sleep to stop spin

* add unused flag to lock

Signed-off-by: tcormack <tcormack@mathworks.com>

* revert reformat

* formatting

* formatting

* reformat

* updating comments

* update comment

---------

Signed-off-by: tcormack <tcormack@mathworks.com>
  • Loading branch information
tcormackMW committed Jul 12, 2023
1 parent fcc8022 commit ab7d455
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 7 deletions.
23 changes: 16 additions & 7 deletions framework/test/bundles/libC1/TestBundleC1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,9 @@ namespace cppmicroservices
tracker->Close();

if (count != 0)
{
throw std::logic_error("Not unregistered all services");
}
}

void
Expand All @@ -104,7 +106,9 @@ namespace cppmicroservices
regs.Lock(), regs.v.emplace_back(std::move(reg));
count++;
if (i % 5 == 0)
{
regs.NotifyAll();
}
}
}

Expand All @@ -115,12 +119,6 @@ namespace cppmicroservices
{
std::vector<ServiceRegistrationU> currRegs;
regs.Lock(), std::swap(currRegs, regs.v);
if (currRegs.empty())
{
auto l = regs.Lock();
regs.WaitFor(l, std::chrono::milliseconds(100), [this] { return !regs.v.empty(); });
std::swap(currRegs, regs.v);
}

for (auto& reg : currRegs)
{
Expand All @@ -138,6 +136,13 @@ namespace cppmicroservices
count--;
}
}
/*
Rather than a condition variable, we are looping until regs is non-empty.
This sleep stops this function from looping too quickly and causing slow downs.
While this is less efficent than a condition variable, we are doing this in order to eliminate a
false-positive TSAN warning coming from the function wait_for.
*/
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
}

Expand All @@ -164,7 +169,9 @@ namespace cppmicroservices
ModifiedService(ServiceReferenceU const& reference, InterfaceMapConstPtr const& /*service*/)
{
if (reference.GetProperty("i") != 5)
{
throw std::logic_error("modified end match: wrong property");
}
context.GetService(reference);
}

Expand All @@ -173,7 +180,9 @@ namespace cppmicroservices
{
auto l = additionalReg.Lock();
if (additionalReg.v)
{
additionalReg.v.Unregister();
}
}

private:
Expand All @@ -200,4 +209,4 @@ namespace cppmicroservices

} // namespace cppmicroservices

CPPMICROSERVICES_EXPORT_BUNDLE_ACTIVATOR(cppmicroservices::TestBundleC1Activator)
CPPMICROSERVICES_EXPORT_BUNDLE_ACTIVATOR(cppmicroservices::TestBundleC1Activator)
29 changes: 29 additions & 0 deletions tsan_suppressions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,34 @@
race:cppmicroservices::ServiceListeners::RemoveServiceListener
race:cppmicroservices::ServiceTracker*

# BundleRegistry races and double lock false-positives
# https://github.com/google/sanitizers/issues/1259
# Calls to wait_for within BundleRegistry::Install, TSAN false-positive
# Race condition on access of p.second.waitFlag within wait_for, TSAN false-positive
mutex:TestSerialBundleInstall
race:TestSerialBundleInstall

# TestConfigurationAdminImpl race and double lock

# CV and mutex used within test body, TSAN false-positive
race:TestConfigurationAdminImpl_VerifyManagedServiceNotification_Test::TestBody
mutex:TestConfigurationAdminImpl_VerifyManagedServiceNotification_Test::TestBody

# CV and mutex used within test body, TSAN false-positive
race:TestConfigurationAdminImpl_VerifyManagedServiceFactoryNotification_Test::TestBody
mutex:TestConfigurationAdminImpl_VerifyManagedServiceFactoryNotification_Test::TestBody

# CV and mutex used within test body, TSAN false-positive
race:TestConfigurationAdminImpl_VerifyManagedServiceExceptionsAreLogged_Test::TestBody
mutex:TestConfigurationAdminImpl_VerifyManagedServiceExceptionsAreLogged_Test::TestBody

# Framework.LifeCycle
mutex:cppmicroservices::FrameworkPrivate::Shutdown0
mutex:Framework_LifeCycle_Test::TestBody

# Assignment in FrameworkPrivate::WaitForStop and FrameworkPrivate::SystemShuttingdownDone_unlocked
# to stopEvent, both protected, TSAN false-positive
race:Framework_LifeCycle_Test::TestBody

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

1 comment on commit ab7d455

@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: ab7d455 Previous: fcc8022 Ratio
ServiceRegistryFixture/RegisterServices/1/1/manual_time 38463.95819458005 ns/iter 29490.48142115772 ns/iter 1.30
ServiceRegistryFixture/RegisterServices/4/1/manual_time 158870.24048096314 ns/iter 117968.6567164148 ns/iter 1.35
ServiceRegistryFixture/RegisterServices/16/1/manual_time 586798.9000000011 ns/iter 467406.0126582173 ns/iter 1.26
ServiceRegistryFixture/RegisterServices/64/1/manual_time 2449204.4817927363 ns/iter 1871766.5914220754 ns/iter 1.31
ServiceRegistryFixture/RegisterServices/256/1/manual_time 9802841.66666674 ns/iter 7704440.157480119 ns/iter 1.27
ServiceRegistryFixture/RegisterServices/1000/1/manual_time 36862166.666666836 ns/iter 29142348.14814759 ns/iter 1.26
ServiceRegistryFixture/RegisterServices/1/4/manual_time 99186.11168349441 ns/iter 79184.6370513442 ns/iter 1.25
ServiceRegistryFixture/RegisterServices/4/4/manual_time 389484.5758354747 ns/iter 310849.23559388594 ns/iter 1.25
ServiceRegistryFixture/RegisterServices/16/4/manual_time 1589957.8849721684 ns/iter 1263555.6671449097 ns/iter 1.26
ServiceRegistryFixture/RegisterServices/64/4/manual_time 6187870.999999971 ns/iter 4922348.648648653 ns/iter 1.26
ServiceRegistryFixture/RegisterServices/256/4/manual_time 24494406.451612838 ns/iter 20149804.761904757 ns/iter 1.22
ServiceRegistryFixture/RegisterServices/1000/4/manual_time 100704155.55555525 ns/iter 78973700.00000037 ns/iter 1.28
ServiceRegistryFixture/RegisterServices/1/16/manual_time 306226.11174458417 ns/iter 246215.13177376345 ns/iter 1.24
ServiceRegistryFixture/RegisterServices/4/16/manual_time 1236417.1428571434 ns/iter 1001544.0040650417 ns/iter 1.23
ServiceRegistryFixture/RegisterServices/16/16/manual_time 4770255.844155866 ns/iter 3915157.948717957 ns/iter 1.22
ServiceRegistryFixture/RegisterServices/64/16/manual_time 19505879.545454476 ns/iter 15883043.85964908 ns/iter 1.23
ServiceRegistryFixture/RegisterServices/256/16/manual_time 80518984.61538476 ns/iter 61508110.00000008 ns/iter 1.31
ServiceRegistryFixture/RegisterServices/1000/16/manual_time 314388933.33333397 ns/iter 242330700.0000005 ns/iter 1.30
ServiceRegistryFixture/RegisterServices/1/64/manual_time 1009876.9376181491 ns/iter 842371.0762331829 ns/iter 1.20
ServiceRegistryFixture/RegisterServices/4/64/manual_time 3990675.490196077 ns/iter 3246379.0513833943 ns/iter 1.23
ServiceRegistryFixture/RegisterServices/16/64/manual_time 19447191.52542371 ns/iter 13495470.12987013 ns/iter 1.44
ServiceRegistryFixture/RegisterServices/64/64/manual_time 67958420 ns/iter 51643035.71428569 ns/iter 1.32
ServiceRegistryFixture/RegisterServices/256/64/manual_time 301027499.9999998 ns/iter 206944399.99999997 ns/iter 1.45
ServiceRegistryFixture/RegisterServices/1000/64/manual_time 1181239500.0000002 ns/iter 799473800.0000002 ns/iter 1.48
ServiceRegistryFixture/RegisterServices/1/256/manual_time 4146356.603773584 ns/iter 2724570.0598802385 ns/iter 1.52
ServiceRegistryFixture/RegisterServices/4/256/manual_time 15535916.666666657 ns/iter 11458225.925925931 ns/iter 1.36
ServiceRegistryFixture/RegisterServices/16/256/manual_time 57473820.000000015 ns/iter 42901673.68421053 ns/iter 1.34
ServiceRegistryFixture/RegisterServices/64/256/manual_time 264784225.00000003 ns/iter 179502749.9999999 ns/iter 1.48
ServiceRegistryFixture/RegisterServices/256/256/manual_time 1058454799.9999992 ns/iter 661254599.9999999 ns/iter 1.60
ServiceRegistryFixture/RegisterServices/1000/256/manual_time 4375062599.999995 ns/iter 3270019200.000003 ns/iter 1.34
ServiceRegistryFixture/RegisterServices/1/1000/manual_time 11418820.610687021 ns/iter 8322217.000000001 ns/iter 1.37
ServiceRegistryFixture/RegisterServices/4/1000/manual_time 42113499.999999985 ns/iter 34012114.81481482 ns/iter 1.24
ServiceRegistryFixture/RegisterServices/16/1000/manual_time 176333857.14285713 ns/iter 145284144.44444445 ns/iter 1.21
ServiceRegistryFixture/RegisterServices/64/1000/manual_time 583601100.0000001 ns/iter 560228749.9999999 ns/iter 1.04
ServiceRegistryFixture/RegisterServices/256/1000/manual_time 3300338600.0000005 ns/iter 2600148799.999999 ns/iter 1.27
ServiceRegistryFixture/RegisterServices/1000/1000/manual_time 16905081400.000011 ns/iter 13364996300.00001 ns/iter 1.26
ServiceRegistryFixture/RegisterServicesWithRank/1/1/manual_time 37920.5366306634 ns/iter 29241.982071712573 ns/iter 1.30
ServiceRegistryFixture/RegisterServicesWithRank/4/1/manual_time 220553.50353069 ns/iter 180910.7700971423 ns/iter 1.22
ServiceRegistryFixture/RegisterServicesWithRank/16/1/manual_time 811210.8000000013 ns/iter 614471.9000000033 ns/iter 1.32
ServiceRegistryFixture/RegisterServicesWithRank/64/1/manual_time 3613604.0293040304 ns/iter 3087324.260355053 ns/iter 1.17
ServiceRegistryFixture/RegisterServicesWithRank/256/1/manual_time 18815377.272727285 ns/iter 15276178.181818178 ns/iter 1.23
ServiceRegistryFixture/RegisterServicesWithRank/1000/1/manual_time 55142613.333333135 ns/iter 48358675.0000003 ns/iter 1.14
ServiceRegistryFixture/RegisterServicesWithRank/1/4/manual_time 100457.9144710175 ns/iter 80514.66220276427 ns/iter 1.25
ServiceRegistryFixture/RegisterServicesWithRank/4/4/manual_time 461711.35734072095 ns/iter 389087.25532840524 ns/iter 1.19
ServiceRegistryFixture/RegisterServicesWithRank/16/4/manual_time 2113354.934823081 ns/iter 1819249.7835497833 ns/iter 1.16
ServiceRegistryFixture/RegisterServicesWithRank/64/4/manual_time 7906952.999999996 ns/iter 6161010.000000021 ns/iter 1.28
ServiceRegistryFixture/RegisterServicesWithRank/256/4/manual_time 33662282.75862079 ns/iter 29292297.36842095 ns/iter 1.15
ServiceRegistryFixture/RegisterServicesWithRank/1000/4/manual_time 133764155.55555603 ns/iter 118303291.66666673 ns/iter 1.13
ServiceRegistryFixture/RegisterServicesWithRank/1/16/manual_time 313607.8486055785 ns/iter 249287.53063725407 ns/iter 1.26
ServiceRegistryFixture/RegisterServicesWithRank/4/16/manual_time 1355491.1727616694 ns/iter 1144082.2565091625 ns/iter 1.18
ServiceRegistryFixture/RegisterServicesWithRank/16/16/manual_time 5234560.544217686 ns/iter 4464028.4946236545 ns/iter 1.17
ServiceRegistryFixture/RegisterServicesWithRank/64/16/manual_time 23160939.534883697 ns/iter 19100937.500000007 ns/iter 1.21
ServiceRegistryFixture/RegisterServicesWithRank/256/16/manual_time 96905549.99999975 ns/iter 68069369.99999991 ns/iter 1.42
ServiceRegistryFixture/RegisterServicesWithRank/1000/16/manual_time 340158233.3333332 ns/iter 268367599.9999995 ns/iter 1.27
ServiceRegistryFixture/RegisterServicesWithRank/1/64/manual_time 1049554.774396643 ns/iter 872958.0742987109 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/4/64/manual_time 4026643.925233645 ns/iter 3220326.1363636353 ns/iter 1.25
ServiceRegistryFixture/RegisterServicesWithRank/16/64/manual_time 17419554.098360676 ns/iter 14007614.47368421 ns/iter 1.24
ServiceRegistryFixture/RegisterServicesWithRank/64/64/manual_time 63426550 ns/iter 52805964.28571431 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/256/64/manual_time 262700166.66666684 ns/iter 218386650.0000002 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/1000/64/manual_time 1033510299.9999996 ns/iter 821742799.9999992 ns/iter 1.26
ServiceRegistryFixture/RegisterServicesWithRank/1/256/manual_time 3369300.7843137225 ns/iter 2804085.6269113147 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/4/256/manual_time 14158482.291666664 ns/iter 11416455.737704916 ns/iter 1.24
ServiceRegistryFixture/RegisterServicesWithRank/16/256/manual_time 51625026.666666694 ns/iter 42682326.315789476 ns/iter 1.21
ServiceRegistryFixture/RegisterServicesWithRank/64/256/manual_time 219168180.0000001 ns/iter 179371283.3333334 ns/iter 1.22
ServiceRegistryFixture/RegisterServicesWithRank/256/256/manual_time 857095499.9999995 ns/iter 671960100.0000001 ns/iter 1.28
ServiceRegistryFixture/RegisterServicesWithRank/1000/256/manual_time 4341585599.999996 ns/iter 3377817900.000003 ns/iter 1.29
ServiceRegistryFixture/RegisterServicesWithRank/1/1000/manual_time 10819089.000000002 ns/iter 8489700.000000002 ns/iter 1.27
ServiceRegistryFixture/RegisterServicesWithRank/4/1000/manual_time 38418179.16666666 ns/iter 32068845.161290325 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/16/1000/manual_time 168270428.5714285 ns/iter 140691300.00000003 ns/iter 1.20
ServiceRegistryFixture/RegisterServicesWithRank/64/1000/manual_time 606801400 ns/iter 563309050.0000001 ns/iter 1.08
ServiceRegistryFixture/RegisterServicesWithRank/256/1000/manual_time 3514068300 ns/iter 2717091500.0000005 ns/iter 1.29
ServiceRegistryFixture/RegisterServicesWithRank/1000/1000/manual_time 17591210300 ns/iter 13710622299.999998 ns/iter 1.28
ServiceRegistryFixture/FindServices/1/1 2747.4018538416153 ns/iter 2194.797092407059 ns/iter 1.25
ServiceRegistryFixture/FindServices/4/1 4837.916071421335 ns/iter 3978.5122767861076 ns/iter 1.22
ServiceRegistryFixture/FindServices/16/1 14109.149553576117 ns/iter 11402.537499999913 ns/iter 1.24
ServiceRegistryFixture/FindServices/64/1 50949.26000001578 ns/iter 41573.476767305925 ns/iter 1.23
ServiceRegistryFixture/FindServices/256/1 195036.19073130673 ns/iter 152169.73214283568 ns/iter 1.28
ServiceRegistryFixture/FindServices/1000/1 755085.044642913 ns/iter 572227.0999999637 ns/iter 1.32
ServiceRegistryFixture/FindServices/1/4 10758.637684662903 ns/iter 8605.027656126995 ns/iter 1.25
ServiceRegistryFixture/FindServices/4/4 20373.382276110755 ns/iter 15982.526785717053 ns/iter 1.27
ServiceRegistryFixture/FindServices/16/4 58964.20999997645 ns/iter 45144.051009851 ns/iter 1.31
ServiceRegistryFixture/FindServices/64/4 208406.61636664698 ns/iter 166055.48735575052 ns/iter 1.26
ServiceRegistryFixture/FindServices/256/4 787707.1428582992 ns/iter 611582.767857044 ns/iter 1.29
ServiceRegistryFixture/FindServices/1000/4 3045201.69491575 ns/iter 2314539.464882986 ns/iter 1.32
ServiceRegistryFixture/FindServices/1/16 43467.620403951965 ns/iter 34275.343743866695 ns/iter 1.27
ServiceRegistryFixture/FindServices/4/16 83871.54017859595 ns/iter 65076.99107142376 ns/iter 1.29
ServiceRegistryFixture/FindServices/16/16 230755.2058921 ns/iter 187404.8218590665 ns/iter 1.23
ServiceRegistryFixture/FindServices/64/16 853286.9419651337 ns/iter 668288.7499999473 ns/iter 1.28
ServiceRegistryFixture/FindServices/256/16 3184990.254239738 ns/iter 2480858.1939794864 ns/iter 1.28
ServiceRegistryFixture/FindServices/1000/16 13032766.071416648 ns/iter 9277837.333332475 ns/iter 1.40
ServiceRegistryFixture/FindServices/1/64 188206.45593326466 ns/iter 139539.2928887088 ns/iter 1.35
ServiceRegistryFixture/FindServices/4/64 346530.5672765027 ns/iter 253392.92857138065 ns/iter 1.37
ServiceRegistryFixture/FindServices/16/64 959357.6974544006 ns/iter 735904.5758928825 ns/iter 1.30
ServiceRegistryFixture/FindServices/64/64 3430356.8627454336 ns/iter 2670444.3181820423 ns/iter 1.28
ServiceRegistryFixture/FindServices/256/64 12734133.999983897 ns/iter 9691338.666665008 ns/iter 1.31
ServiceRegistryFixture/FindServices/1000/64 51277390.90907694 ns/iter 36485884.21053415 ns/iter 1.41
ServiceRegistryFixture/FindServices/1/256 746080.1339281683 ns/iter 589417.321428698 ns/iter 1.27
ServiceRegistryFixture/FindServices/4/256 1375467.871487975 ns/iter 1084420.080321399 ns/iter 1.27
ServiceRegistryFixture/FindServices/16/256 3917831.3953460357 ns/iter 3095025.892857198 ns/iter 1.27
ServiceRegistryFixture/FindServices/64/256 14398242.222200174 ns/iter 11352565.624999756 ns/iter 1.27
ServiceRegistryFixture/FindServices/256/256 54386559.99987532 ns/iter 41661935.29411376 ns/iter 1.31
ServiceRegistryFixture/FindServices/1000/256 212501033.3335619 ns/iter 159430250.00001398 ns/iter 1.33
ServiceRegistryFixture/FindServices/1/1000 2898926.2711886917 ns/iter 2278879.687499824 ns/iter 1.27
ServiceRegistryFixture/FindServices/4/1000 5600957.000006019 ns/iter 4374523.493975559 ns/iter 1.28
ServiceRegistryFixture/FindServices/16/1000 15612942.222206686 ns/iter 12645667.857144969 ns/iter 1.23
ServiceRegistryFixture/FindServices/64/1000 57693054.54536648 ns/iter 47188393.33333259 ns/iter 1.22
ServiceRegistryFixture/FindServices/256/1000 215413466.66648075 ns/iter 168226274.999995 ns/iter 1.28
ServiceRegistryFixture/FindServices/1000/1000 870624500.0012132 ns/iter 655716999.9998678 ns/iter 1.33
ServiceRegistryFixture/UnregisterServices/1/1/manual_time 3763.1994909343944 ns/iter 2857.057377880737 ns/iter 1.32
ServiceRegistryFixture/UnregisterServices/4/1/manual_time 14677.915413568759 ns/iter 11364.827258429927 ns/iter 1.29
ServiceRegistryFixture/UnregisterServices/16/1/manual_time 60802.75525327127 ns/iter 46588.68880883722 ns/iter 1.31
ServiceRegistryFixture/UnregisterServices/64/1/manual_time 271383.8436744168 ns/iter 216205.14527825487 ns/iter 1.26
ServiceRegistryFixture/UnregisterServices/256/1/manual_time 1460005.9917354332 ns/iter 1090832.7639749409 ns/iter 1.34
ServiceRegistryFixture/UnregisterServices/1000/1/manual_time 11560303.389830418 ns/iter 8717047.499999989 ns/iter 1.33
ServiceRegistryFixture/UnregisterServices/1/4/manual_time 4365.423425477991 ns/iter 3442.32538460013 ns/iter 1.27
ServiceRegistryFixture/UnregisterServices/4/4/manual_time 17574.590750962863 ns/iter 12983.849104369323 ns/iter 1.35
ServiceRegistryFixture/UnregisterServices/16/4/manual_time 72800.34312238803 ns/iter 55258.66157393059 ns/iter 1.32
ServiceRegistryFixture/UnregisterServices/64/4/manual_time 358656.706114345 ns/iter 263771.60166603077 ns/iter 1.36
ServiceRegistryFixture/UnregisterServices/256/4/manual_time 2925219.521912363 ns/iter 1748355.1898733976 ns/iter 1.67
ServiceRegistryFixture/UnregisterServices/1000/4/manual_time 22048862.06896578 ns/iter 17242232.500000022 ns/iter 1.28
ServiceRegistryFixture/UnregisterServices/1/16/manual_time 7567.357624658877 ns/iter 5876.769911499453 ns/iter 1.29
ServiceRegistryFixture/UnregisterServices/4/16/manual_time 25757.14390358934 ns/iter 20289.91962393915 ns/iter 1.27
ServiceRegistryFixture/UnregisterServices/16/16/manual_time 114595.67447427187 ns/iter 90376.86279547935 ns/iter 1.27
ServiceRegistryFixture/UnregisterServices/64/16/manual_time 696540.5328258969 ns/iter 508739.8028809803 ns/iter 1.37
ServiceRegistryFixture/UnregisterServices/256/16/manual_time 7408192.920354035 ns/iter 4517203.821656053 ns/iter 1.64
ServiceRegistryFixture/UnregisterServices/1000/16/manual_time 71292954.54545476 ns/iter 51033685.714285664 ns/iter 1.40
ServiceRegistryFixture/UnregisterServices/1/64/manual_time 22109.708950779852 ns/iter 15568.068708774588 ns/iter 1.42
ServiceRegistryFixture/UnregisterServices/4/64/manual_time 61830.349405367255 ns/iter 48684.308160873334 ns/iter 1.27
ServiceRegistryFixture/UnregisterServices/16/64/manual_time 292273.97145256045 ns/iter 226145.50112072632 ns/iter 1.29
ServiceRegistryFixture/UnregisterServices/64/64/manual_time 2030450.5747126339 ns/iter 1529699.3421052601 ns/iter 1.33
ServiceRegistryFixture/UnregisterServices/256/64/manual_time 18532875.000000037 ns/iter 15057144.680851024 ns/iter 1.23
ServiceRegistryFixture/UnregisterServices/1000/64/manual_time 234801766.6666664 ns/iter 186739875.00000018 ns/iter 1.26
ServiceRegistryFixture/UnregisterServices/1/256/manual_time 123335.52607668613 ns/iter 93715.044008124 ns/iter 1.32
ServiceRegistryFixture/UnregisterServices/4/256/manual_time 410957.38194859657 ns/iter 305023.62274129357 ns/iter 1.35
ServiceRegistryFixture/UnregisterServices/16/256/manual_time 1969143.2748538018 ns/iter 1391037.3015872976 ns/iter 1.42
ServiceRegistryFixture/UnregisterServices/64/256/manual_time 11220609.37499997 ns/iter 8429297.61904763 ns/iter 1.33
ServiceRegistryFixture/UnregisterServices/256/256/manual_time 86641957.14285707 ns/iter 69706610.00000003 ns/iter 1.24
ServiceRegistryFixture/UnregisterServices/1000/256/manual_time 1028788900.0000008 ns/iter 778647600.0000002 ns/iter 1.32
ServiceRegistryFixture/UnregisterServices/1/1000/manual_time 574071.1279461277 ns/iter 426623.3639143735 ns/iter 1.35
ServiceRegistryFixture/UnregisterServices/4/1000/manual_time 2173542.258064517 ns/iter 1526703.5555555553 ns/iter 1.42
ServiceRegistryFixture/UnregisterServices/16/1000/manual_time 9761109.459459452 ns/iter 7400018.556701023 ns/iter 1.32
ServiceRegistryFixture/UnregisterServices/64/1000/manual_time 50865930.76923076 ns/iter 40248527.777777776 ns/iter 1.26
ServiceRegistryFixture/UnregisterServices/256/1000/manual_time 404858300.00000006 ns/iter 308786400.0000004 ns/iter 1.31
ServiceRegistryFixture/UnregisterServices/1000/1000/manual_time 4179626699.9999948 ns/iter 3449783599.9999933 ns/iter 1.21
ServiceRegistryFixture/ModifyServices/1/1/manual_time 7604.293165143085 ns/iter 5955.801990492333 ns/iter 1.28
ServiceRegistryFixture/ModifyServices/4/1/manual_time 29891.914345376186 ns/iter 23854.51207261029 ns/iter 1.25
ServiceRegistryFixture/ModifyServices/16/1/manual_time 129540.45420974758 ns/iter 104436.96002343122 ns/iter 1.24
ServiceRegistryFixture/ModifyServices/64/1/manual_time 506218.6627479787 ns/iter 426045.3488372086 ns/iter 1.19
ServiceRegistryFixture/ModifyServices/256/1/manual_time 2146318.31395349 ns/iter 1725456.6750629724 ns/iter 1.24
ServiceRegistryFixture/ModifyServices/1000/1/manual_time 8386168.354430378 ns/iter 6579344.95412844 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/1/4/manual_time 8275.290432064663 ns/iter 6272.431800393407 ns/iter 1.32
ServiceRegistryFixture/ModifyServices/4/4/manual_time 31546.563124027558 ns/iter 25043.75355922477 ns/iter 1.26
ServiceRegistryFixture/ModifyServices/16/4/manual_time 127213.10556760587 ns/iter 100536.32177291816 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/64/4/manual_time 544064.0423921268 ns/iter 418942.6091825305 ns/iter 1.30
ServiceRegistryFixture/ModifyServices/256/4/manual_time 2214138.4146341453 ns/iter 1749041.4519906319 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/1000/4/manual_time 8860610.975609759 ns/iter 6386879.090909089 ns/iter 1.39
ServiceRegistryFixture/ModifyServices/1/16/manual_time 9154.643502287809 ns/iter 6935.117421072457 ns/iter 1.32
ServiceRegistryFixture/ModifyServices/4/16/manual_time 34368.18993388875 ns/iter 27312.901312665814 ns/iter 1.26
ServiceRegistryFixture/ModifyServices/16/16/manual_time 140979.27783350056 ns/iter 109766.20485678822 ns/iter 1.28
ServiceRegistryFixture/ModifyServices/64/16/manual_time 611836.683848797 ns/iter 455508.11709913524 ns/iter 1.34
ServiceRegistryFixture/ModifyServices/256/16/manual_time 2448434.859154931 ns/iter 1915243.715846994 ns/iter 1.28
ServiceRegistryFixture/ModifyServices/1000/16/manual_time 11313816.41791045 ns/iter 7745283.695652177 ns/iter 1.46
ServiceRegistryFixture/ModifyServices/1/64/manual_time 12712.931112435212 ns/iter 9904.923695897582 ns/iter 1.28
ServiceRegistryFixture/ModifyServices/4/64/manual_time 48321.17842094436 ns/iter 38683.382976284316 ns/iter 1.25
ServiceRegistryFixture/ModifyServices/16/64/manual_time 195983.3379158639 ns/iter 156701.0251838648 ns/iter 1.25
ServiceRegistryFixture/ModifyServices/64/64/manual_time 819384.8928974065 ns/iter 635100.0000000003 ns/iter 1.29
ServiceRegistryFixture/ModifyServices/256/64/manual_time 3561277.3869346757 ns/iter 2631196.3099631006 ns/iter 1.35
ServiceRegistryFixture/ModifyServices/1000/64/manual_time 13906412 ns/iter 10998607.812499996 ns/iter 1.26
ServiceRegistryFixture/ModifyServices/1/256/manual_time 55604.46506741535 ns/iter 47125.69294279735 ns/iter 1.18
ServiceRegistryFixture/ModifyServices/4/256/manual_time 224027.11096732382 ns/iter 188791.51878914383 ns/iter 1.19
ServiceRegistryFixture/ModifyServices/16/256/manual_time 908325.0965250958 ns/iter 733940.2298850581 ns/iter 1.24
ServiceRegistryFixture/ModifyServices/64/256/manual_time 3936893.7500000033 ns/iter 3107534.188034187 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/256/256/manual_time 16830024.390243903 ns/iter 13319418.867924526 ns/iter 1.26
ServiceRegistryFixture/ModifyServices/1000/256/manual_time 64706754.54545455 ns/iter 50820480 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/1/1000/manual_time 249008.40590685423 ns/iter 201599.37088933433 ns/iter 1.24
ServiceRegistryFixture/ModifyServices/4/1000/manual_time 1028148.548387096 ns/iter 812215.9353348735 ns/iter 1.27
ServiceRegistryFixture/ModifyServices/16/1000/manual_time 4332936.309523808 ns/iter 3426439.8104265397 ns/iter 1.26
ServiceRegistryFixture/ModifyServices/64/1000/manual_time 18822125.64102564 ns/iter 13897930.612244902 ns/iter 1.35
ServiceRegistryFixture/ModifyServices/256/1000/manual_time 73175379.99999999 ns/iter 55784592.3076923 ns/iter 1.31
ServiceRegistryFixture/ModifyServices/1000/1000/manual_time 299954550 ns/iter 226056833.33333334 ns/iter 1.33
ServiceTrackerFixture/OpenServiceTrackerWithSvcRef/manual_time 8600.90800049456 ns/iter 6319.628412540135 ns/iter 1.36
ServiceTrackerFixture/OpenServiceTrackerWithBundleContext/manual_time 11418.94491452749 ns/iter 9125.381502340733 ns/iter 1.25
ServiceTrackerFixture/OpenServiceTrackerWithInterfaceName/manual_time 9989.690014434622 ns/iter 9261.854319592234 ns/iter 1.08
CloseServiceTracker/1000 9372.953125007047 ns/iter 7095.466964287312 ns/iter 1.32
CloseServiceTracker/1024 9087.046874997539 ns/iter 7179.481026786354 ns/iter 1.27
CloseServiceTracker/2048 9329.051656011205 ns/iter 7208.089285715147 ns/iter 1.29
CloseServiceTracker/4096 9368.659514904877 ns/iter 7170.575892858315 ns/iter 1.31
CloseServiceTracker/8192 9310.47584607844 ns/iter 7404.616964285943 ns/iter 1.26
CloseServiceTracker/16384 9811.29950313172 ns/iter 7344.269642857171 ns/iter 1.34
CloseServiceTracker/32768 9755.63903734286 ns/iter 7467.718001258459 ns/iter 1.31
CloseServiceTracker/65536 10330.933344028992 ns/iter 7594.268973214468 ns/iter 1.36
CloseServiceTracker/131072 10418.653488164637 ns/iter 7808.430803571805 ns/iter 1.33
CloseServiceTracker/262144 10368.855357130866 ns/iter 7759.2176339282205 ns/iter 1.34
CloseServiceTracker/524288 12617.621875023133 ns/iter 7946.202008928894 ns/iter 1.59
CloseServiceTracker/1000000 10667.418002607243 ns/iter 8343.347098213526 ns/iter 1.28
ServiceTrackerFixture/ServiceTrackerScalability/1 44771.73124996625 ns/iter 35342.764730700495 ns/iter 1.27
ServiceTrackerFixture/ServiceTrackerScalability/4000 33237319.047614057 ns/iter 25933076.000001162 ns/iter 1.28
ServiceTrackerFixture/ServiceTrackerScalability/10000 90518566.66661075 ns/iter 71717100.0000134 ns/iter 1.26
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/1 44761.043813667835 ns/iter 35221.90034219688 ns/iter 1.27
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/4000 177967699.99995378 ns/iter 142209549.99999928 ns/iter 1.25
ServiceTrackerFixture/MultipleImplOneInterfaceServiceTrackerScalability/10000 469058550.0002271 ns/iter 347473999.9999201 ns/iter 1.35
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/1 39464.90598379344 ns/iter 30149.732478276783 ns/iter 1.31
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/4000 4812924.161079909 ns/iter 3427825.980392139 ns/iter 1.40
ServiceTrackerFixture/ServiceTrackerScalabilityWithLDAPFilter/10000 16677957.777776303 ns/iter 12529880.357139485 ns/iter 1.33
AnyMapPerfTestFixture/HappyPath/1 581.3705357143459 ns/iter 444.70109293722925 ns/iter 1.31
AnyMapPerfTestFixture/HappyPath/3 1678.1539655199915 ns/iter 1306.7887500000097 ns/iter 1.28
AnyMapPerfTestFixture/HappyPath/7 3754.1424033224357 ns/iter 2988.035065249038 ns/iter 1.26
AnyMapPerfTestFixture/HappyPath/11 5804.3187499866435 ns/iter 4730.308062774187 ns/iter 1.23
AnyMapPerfTestFixture/HappyPath/15 8106.8984375016435 ns/iter 6379.960714286069 ns/iter 1.27
AnyMapPerfTestFixture/HappyPath/18 9898.085937493306 ns/iter 7663.360491069986 ns/iter 1.29
AnyMapPerfTestFixture/HappyPath/20 10884.25624999445 ns/iter 8551.608258929073 ns/iter 1.27
AnyMapPerfTestFixture/ErrorPath/1 7025.004464285953 ns/iter 5890.006250000722 ns/iter 1.19
AnyMapPerfTestFixture/ErrorPath/3 9844.608729436617 ns/iter 8278.488488890478 ns/iter 1.19
AnyMapPerfTestFixture/ErrorPath/7 16034.524553560912 ns/iter 12974.446428574181 ns/iter 1.24
AnyMapPerfTestFixture/ErrorPath/11 21844.63125001912 ns/iter 17970.712238498596 ns/iter 1.22
AnyMapPerfTestFixture/ErrorPath/15 32132.41994456245 ns/iter 22393.940624994004 ns/iter 1.43
AnyMapPerfTestFixture/ErrorPath/18 30995.33586459117 ns/iter 26201.00714286114 ns/iter 1.18
AnyMapPerfTestFixture/ErrorPath/20 34147.55450794731 ns/iter 28034.963236768966 ns/iter 1.22
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/1 863.8950161174148 ns/iter 678.4209821428736 ns/iter 1.27
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/3 2369.586194661088 ns/iter 1850.8567418363416 ns/iter 1.28
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/7 5921.931250002542 ns/iter 4150.170557959231 ns/iter 1.43
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/11 8544.248463179072 ns/iter 6450.1446428571235 ns/iter 1.32
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/15 12229.58214287116 ns/iter 8789.48397551802 ns/iter 1.39
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/18 14514.321587864111 ns/iter 10475.882812503556 ns/iter 1.39
AnyMapPerfTestFixture/HappyPath_NoThrowOverload/20 14475.888231398769 ns/iter 11624.203571427317 ns/iter 1.25
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/1 594.7934821425147 ns/iter 446.10131250010454 ns/iter 1.33
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/3 2085.764374999144 ns/iter 1672.0361607137793 ns/iter 1.25
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/7 5138.061607145314 ns/iter 3875.2489727677744 ns/iter 1.33
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/11 8055.727678575002 ns/iter 6163.780357139461 ns/iter 1.31
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/15 10977.620312473846 ns/iter 8474.198660713178 ns/iter 1.30
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/18 13345.710714280098 ns/iter 10192.157812504378 ns/iter 1.31
AnyMapPerfTestFixture/ErrorPath_NoThrowOverload/20 14697.099120125647 ns/iter 11570.362500002317 ns/iter 1.27
BundleInstallFixture/BundleInstallCppFramework/manual_time 412391.040288635 ns/iter 242881.90675017377 ns/iter 1.70
BundleInstallFixture/LargeBundleInstallCppFramework/manual_time 409273.139534884 ns/iter 237878.6397812713 ns/iter 1.72
ConstructFilterFromString 850.1625222486794 ns/iter 675.5664285711711 ns/iter 1.26
ConstructNonTrivialFilterFromString 1351.274262823152 ns/iter 1033.2876562500815 ns/iter 1.31
MatchFilterWithAnyMap/Simple 600.8302678570284 ns/iter 435.45718750010565 ns/iter 1.38
MatchFilterWithAnyMap/Complex 667.2815178571259 ns/iter 495.13100000012855 ns/iter 1.35
MatchFilterWithBundle/Simple 259.6314490911026 ns/iter 211.85978124989902 ns/iter 1.23
MatchFilterWithBundle/Complex 443.28486390558777 ns/iter 370.2909808165036 ns/iter 1.20
MatchFilterWithServiceReference/Simple 290.5900389970864 ns/iter 205.58361582228653 ns/iter 1.41
MatchFilterWithServiceReference/Complex 340.6964079111208 ns/iter 272.30013045991535 ns/iter 1.25
ConstructFilterIncremental 2976.5650645302535 ns/iter 2358.2006046858487 ns/iter 1.26
ConstructFilterNotOperator 1251.9655357144595 ns/iter 1011.2973437500729 ns/iter 1.24
ServiceFixture/GetServiceReferenceByInterface 1912.1802787306112 ns/iter 1493.9167410708314 ns/iter 1.28
ServiceFixture/GetServiceReferenceByClassName 1664.3448660715876 ns/iter 1288.186071428754 ns/iter 1.29
ServiceFixture/GetAllServiceReferencesByInterface 1636.4010146438036 ns/iter 1303.0992857141296 ns/iter 1.26
ServiceFixture/GetAllServiceReferencesByClassName 1245.8612500008064 ns/iter 965.5103278976053 ns/iter 1.29
ServiceFixture/GetAllServiceReferencesByClassNameAndLDAPFilter 963.8456250002035 ns/iter 756.2796874996789 ns/iter 1.27
ServiceFixture/GetAllServiceReferencesByInterfaceAndLDAPFilter 901.5557135914613 ns/iter 698.0039062501727 ns/iter 1.29

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

Please sign in to comment.