public void ConfigureContainerTest() { var performanceCounter = new TotalTimePerformanceCounter(); for (var i = 0; i < 10000; i++) { ThisSingleton(0, performanceCounter); } }
public void PerformanceTest() { if (!long.TryParse(Environment.GetEnvironmentVariable("SERIES"), out var series)) { series = 10000000; } var results = new List <TestResult>(); foreach (var ioc in IoCGraphOf3ObjectsWithSingleton) { // Warmup ioc.Test(2, new TotalTimePerformanceCounter()); GC.Collect(); #if !NETCOREAPP1_1 GC.WaitForFullGCComplete(); #endif var performanceCounter = new TotalTimePerformanceCounter(ioc.PerformanceRate); ioc.Test((int)(series / ioc.PerformanceRate), performanceCounter); var result = new TestResult(ioc.Name, performanceCounter.Result); results.Add(result); } SaveResults(results, $"20 instances and 1 singleton {series.ToShortString()} times"); results.Clear(); foreach (var ioc in IoCGraphOf3Transient) { // Warmup ioc.Test(2, new TotalTimePerformanceCounter()); GC.Collect(); #if !NETCOREAPP1_1 GC.WaitForFullGCComplete(); #endif var performanceCounter = new TotalTimePerformanceCounter(ioc.PerformanceRate); ioc.Test((int)(series / ioc.PerformanceRate), performanceCounter); var result = new TestResult(ioc.Name, performanceCounter.Result); results.Add(result); } SaveResults(results, $"27 instances {series.ToShortString()} times"); results.Clear(); series /= 1000; foreach (var ioc in IoCComplexGraphOf3Transient) { // Warmup ioc.Test(2, new TotalTimePerformanceCounter()); GC.Collect(); #if !NETCOREAPP1_1 GC.WaitForFullGCComplete(); #endif var performanceCounter = new TotalTimePerformanceCounter(ioc.PerformanceRate); ioc.Test((int)(series / ioc.PerformanceRate), performanceCounter); var result = new TestResult(ioc.Name, performanceCounter.Result); results.Add(result); } SaveResults(results, $"{TestTypeBuilder.Count} unique instances {series.ToShortString()} times"); results.Clear(); }