public void MemoryDiagnoserTracksHeapMemoryAllocation() { var benchmarks = BenchmarkConverter.TypeToBenchmarks(typeof(ListEnumeratorsBenchmarks)); var memoryDiagnoser = new Diagnostics.Windows.MemoryDiagnoser(); var summary = BenchmarkRunner .Run(benchmarks, ManualConfig.CreateEmpty() .With(Job.Dry.With(Runtime.Core).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(DefaultConfig.Instance.GetLoggers().ToArray()) .With(DefaultConfig.Instance.GetColumns().ToArray()) .With(memoryDiagnoser) .With(new OutputLogger(output))); var gcCollectionColumns = memoryDiagnoser.GetColumns.OfType <Diagnostics.Windows.MemoryDiagnoser.GCCollectionColumn>().ToArray(); var listStructEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListStructEnumerator")); var listObjectEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListObjectEnumerator")); const int gen0Index = 0; foreach (var listStructEnumeratorBenchmark in listStructEnumeratorBenchmarks) { var structEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listStructEnumeratorBenchmark); Assert.Equal("-", structEnumeratorGen0Collections); } foreach (var listObjectEnumeratorBenchmark in listObjectEnumeratorBenchmarks) { var gen0Str = gcCollectionColumns[gen0Index].GetValue( summary, listObjectEnumeratorBenchmark); double gen0Value; if (double.TryParse(gen0Str, NumberStyles.Number, HostEnvironmentInfo.MainCultureInfo, out gen0Value)) { Assert.True(gen0Value > 0); } else { Assert.True(false, $"Can't parse '{gen0Str}'"); } } }
public void MemoryDiagnoserTracksHeapMemoryAllocation() { var benchmarks = BenchmarkConverter.TypeToBenchmarks(typeof(ListEnumeratorsBenchmarks)); var memoryDiagnoser = new Diagnostics.Windows.MemoryDiagnoser(); var summary = BenchmarkRunner .Run(benchmarks, ManualConfig.CreateEmpty() .With(Job.Dry.With(Runtime.Core).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(DefaultConfig.Instance.GetLoggers().ToArray()) .With(DefaultConfig.Instance.GetColumns().ToArray()) .With(memoryDiagnoser) .With(new OutputLogger(output))); var gcCollectionColumns = memoryDiagnoser.GetColumns.OfType<Diagnostics.Windows.MemoryDiagnoser.GCCollectionColumn>().ToArray(); var listStructEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListStructEnumerator")); var listObjectEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListObjectEnumerator")); const int gen0Index = 0; foreach (var listStructEnumeratorBenchmark in listStructEnumeratorBenchmarks) { var structEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listStructEnumeratorBenchmark); Assert.Equal("-", structEnumeratorGen0Collections); } foreach (var listObjectEnumeratorBenchmark in listObjectEnumeratorBenchmarks) { var gen0Str = gcCollectionColumns[gen0Index].GetValue( summary, listObjectEnumeratorBenchmark); double gen0Value; if (double.TryParse(gen0Str, NumberStyles.Number, HostEnvironmentInfo.MainCultureInfo, out gen0Value)) Assert.True(gen0Value > 0); else { Assert.True(false, $"Can't parse '{gen0Str}'"); } } }
public void Test() { var benchmarks = BenchmarkConverter.TypeToBenchmarks(typeof(ListEnumeratorsBenchmarks)); var memoryDiagnoser = new Diagnostics.Windows.MemoryDiagnoser(); var summary = BenchmarkRunner .Run(benchmarks, ManualConfig.CreateEmpty() .With(Job.Dry.With(Runtime.Dnx).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(Job.Dry.With(Runtime.Core).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(DefaultConfig.Instance.GetLoggers().ToArray()) .With(DefaultConfig.Instance.GetColumns().ToArray()) .With(memoryDiagnoser)); var gcCollectionColumns = memoryDiagnoser.GetColumns.OfType <Diagnostics.Windows.MemoryDiagnoser.GCCollectionColumn>().ToArray(); var listStructEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListStructEnumerator")); var listObjectEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListObjectEnumerator")); const int gen0Index = 0; foreach (var listStructEnumeratorBenchmark in listStructEnumeratorBenchmarks) { var structEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listStructEnumeratorBenchmark); Assert.Equal("-", structEnumeratorGen0Collections); } foreach (var listObjectEnumeratorBenchmark in listObjectEnumeratorBenchmarks) { var objectEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listObjectEnumeratorBenchmark); Assert.True(double.Parse(objectEnumeratorGen0Collections) > 0); } }
public void Test() { var benchmarks = BenchmarkConverter.TypeToBenchmarks(typeof(ListEnumeratorsBenchmarks)); var memoryDiagnoser = new Diagnostics.Windows.MemoryDiagnoser(); var summary = BenchmarkRunner .Run(benchmarks, ManualConfig.CreateEmpty() .With(Job.Dry.With(Runtime.Dnx).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(Job.Dry.With(Runtime.Core).With(Jit.Host).With(Mode.Throughput).WithWarmupCount(1).WithTargetCount(1)) .With(DefaultConfig.Instance.GetLoggers().ToArray()) .With(DefaultConfig.Instance.GetColumns().ToArray()) .With(memoryDiagnoser)); var gcCollectionColumns = memoryDiagnoser.GetColumns.OfType<Diagnostics.Windows.MemoryDiagnoser.GCCollectionColumn>().ToArray(); var listStructEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListStructEnumerator")); var listObjectEnumeratorBenchmarks = benchmarks.Where(benchmark => benchmark.ShortInfo.Contains("ListObjectEnumerator")); const int gen0Index = 0; foreach (var listStructEnumeratorBenchmark in listStructEnumeratorBenchmarks) { var structEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listStructEnumeratorBenchmark); Assert.Equal("-", structEnumeratorGen0Collections); } foreach (var listObjectEnumeratorBenchmark in listObjectEnumeratorBenchmarks) { var objectEnumeratorGen0Collections = gcCollectionColumns[gen0Index].GetValue( summary, listObjectEnumeratorBenchmark); Assert.True(double.Parse(objectEnumeratorGen0Collections) > 0); } }