public Result(IContainerAdapter containerAdapter, string name, string version) { Name = name; Version = version; _containerAdapter = containerAdapter; containerAdapter.Prepare(); }
private static Result MeasurePerformance(string name, IContainerAdapter container) { ClearInstanceProperties(); CollectMemory(); container.Prepare(); WarmUp(container); var result = new Result(); result.Name = name; result.Version = container.Version; MeasureResolvePerformance(container, result); if (container.SupportsInterception) { result.InterceptionTime = MeasureProxy(container); } CheckInstanceProperties(container); container.Dispose(); return(result); }
private static void MeasurePerformance(string name, IContainerAdapter container) { CollectMemory(); container.Prepare(); WarmUp(container); long singletonTime = MeasureSingleton(container); long transientTime = MeasureTransient(container); long combinedTime = MeasureCombined(container); Console.WriteLine(string.Format( "{0}\t{1}\t\t{2}\t\t{3}\t\t{4}\t\t\t{5}\t\t\t\t{6}", name + " ".Substring(name.Length - 1), singletonTime, transientTime, combinedTime, Singleton.Instances, Transient.Instances, Combined.Instances)); Singleton.Instances = 0; Transient.Instances = 0; Combined.Instances = 0; container.Dispose(); }
public void Warmup(IContainerAdapter container) { container.Prepare(); var benchmarks = BenchmarkFactory.CreateBenchmarks().ToArray(); // Run each benchmark before start measuring to ensure that all root services has been resolved. // Exclude the "Prepare" benchmarks as they dispose the container. foreach (var benchmark in benchmarks.Where(b => !b.Name.StartsWith("Prepare"))) { if (benchmark.IsSupportedBy(container)) { benchmark.Warmup(container); } } }
private static Result MeasurePerformance(string name, IContainerAdapter container) { CollectMemory(); container.Prepare(); WarmUp(container); var timings = MeasurePerformance(container); var result = new Result(); result.Name = name; result.Version = container.Version; result.SingletonTime = timings.Item1; result.TransientTime = timings.Item2; result.CombinedTime = timings.Item3; if (container.SupportsInterception) { result.InterceptionTime = MeasureProxy(container); } result.SingletonInstances = Singleton.Instances; result.TransientInstances = Transient.Instances; result.CombinedInstances = Combined.Instances; result.InterceptionInstances = Calculator.Instances; Singleton.Instances = 0; Transient.Instances = 0; Combined.Instances = 0; Calculator.Instances = 0; container.Dispose(); return(result); }
private static Result MeasurePerformance(string name, IContainerAdapter container) { CollectMemory(); container.Prepare(); WarmUp(container); var timings = MeasurePerformance(container); var result = new Result(); result.Name = name; result.Version = container.Version; result.SingletonTime = timings.Item1; result.TransientTime = timings.Item2; result.CombinedTime = timings.Item3; if (container.SupportsInterception) { result.InterceptionTime = MeasureProxy(container); } result.SingletonInstances = Singleton.Instances; result.TransientInstances = Transient.Instances; result.CombinedInstances = Combined.Instances; result.InterceptionInstances = Calculator.Instances; Singleton.Instances = 0; Transient.Instances = 0; Combined.Instances = 0; Calculator.Instances = 0; container.Dispose(); return result; }
private static Result MeasurePerformance(string name, IContainerAdapter container) { ClearInstanceProperties(); CollectMemory(); container.Prepare(); WarmUp(container); var result = new Result(); result.Name = name; result.Version = container.Version; MeasureResolvePerformance(container, result); if (container.SupportsInterception) { result.InterceptionTime = MeasureProxy(container); } CheckInstanceProperties(container); container.Dispose(); return result; }
private static Result MeasurePerformance(IContainerAdapter container) { ClearInstanceProperties(); CollectMemory(); container.Prepare(); WarmUp(container); var result = new Result(); result.Name = container.Name; result.Url = container.Url; result.Version = container.Version; MeasureResolvePerformance(container, result); CheckInstanceProperties(container); container.Dispose(); return result; }
private void Warmup2(IContainerAdapter container) { container.Prepare(); ZeroCounters(); }
private static Result MeasurePerformance(string name, IContainerAdapter container) { CollectMemory(); container.Prepare(); WarmUp(container); var result = new Result( container, name, container.Version); Singleton.Instances = 0; Transient.Instances = 0; Combined.Instances = 0; Calculator.Instances = 0; //container.Dispose(); return result; }