Skip to content

Commit 78ce31d

Browse files
committed
Use same code as ZeroMeasurementAnalyser.
1 parent e0959b9 commit 78ce31d

File tree

1 file changed

+13
-24
lines changed

1 file changed

+13
-24
lines changed

tests/BenchmarkDotNet.IntegrationTests.ManualRunning/ExpectedBenchmarkResultsTests.cs

+13-24
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using BenchmarkDotNet.Attributes;
66
using BenchmarkDotNet.Configs;
77
using BenchmarkDotNet.Diagnosers;
8+
using BenchmarkDotNet.Engines;
89
using BenchmarkDotNet.Extensions;
910
using BenchmarkDotNet.Jobs;
1011
using BenchmarkDotNet.Portability;
@@ -113,20 +114,14 @@ private void AssertZeroResults(Type benchmarkType, IConfig config)
113114

114115
foreach (var report in summary.Reports)
115116
{
116-
var workloadTimes = report.AllMeasurements
117-
.Where(m => m.IsOverhead() && m.IterationStage == Engines.IterationStage.Actual)
118-
.Select(m => m.GetAverageTime().Nanoseconds)
119-
.ToArray();
120-
var overheadTimes = report.AllMeasurements
121-
.Where(m => m.IsOverhead() && m.IterationStage == Engines.IterationStage.Actual)
122-
.Select(m => m.GetAverageTime().Nanoseconds)
123-
.ToArray();
124-
125-
bool isZero = ZeroMeasurementHelper.CheckZeroMeasurementTwoSamples(workloadTimes, overheadTimes);
117+
var workloadMeasurements = report.AllMeasurements.Where(m => m.Is(IterationMode.Workload, IterationStage.Actual)).GetStatistics().WithoutOutliers();
118+
var overheadMeasurements = report.AllMeasurements.Where(m => m.Is(IterationMode.Overhead, IterationStage.Actual)).GetStatistics().WithoutOutliers();
119+
120+
bool isZero = ZeroMeasurementHelper.CheckZeroMeasurementTwoSamples(workloadMeasurements, overheadMeasurements);
126121
Assert.True(isZero, $"Actual time was not 0.");
127122

128-
var workloadTime = workloadTimes.Average();
129-
var overheadTime = overheadTimes.Average();
123+
var workloadTime = workloadMeasurements.Average();
124+
var overheadTime = overheadMeasurements.Average();
130125

131126
// Allow for 1 cpu cycle variance
132127
Assert.True(overheadTime * cpuGhz < workloadTime * cpuGhz + 1, "Overhead took more time than workload.");
@@ -178,20 +173,14 @@ private void AssertDifferentSizedStructsResults(IConfig config)
178173

179174
foreach (var report in summary.Reports)
180175
{
181-
var workloadTimes = report.AllMeasurements
182-
.Where(m => m.IsOverhead() && m.IterationStage == Engines.IterationStage.Actual)
183-
.Select(m => m.GetAverageTime().Nanoseconds)
184-
.ToArray();
185-
var overheadTimes = report.AllMeasurements
186-
.Where(m => m.IsOverhead() && m.IterationStage == Engines.IterationStage.Actual)
187-
.Select(m => m.GetAverageTime().Nanoseconds)
188-
.ToArray();
189-
190-
bool isZero = ZeroMeasurementHelper.CheckZeroMeasurementTwoSamples(workloadTimes, overheadTimes);
176+
var workloadMeasurements = report.AllMeasurements.Where(m => m.Is(IterationMode.Workload, IterationStage.Actual)).GetStatistics().WithoutOutliers();
177+
var overheadMeasurements = report.AllMeasurements.Where(m => m.Is(IterationMode.Overhead, IterationStage.Actual)).GetStatistics().WithoutOutliers();
178+
179+
bool isZero = ZeroMeasurementHelper.CheckZeroMeasurementTwoSamples(workloadMeasurements, overheadMeasurements);
191180
Assert.False(isZero, $"Actual time was 0.");
192181

193-
var workloadTime = workloadTimes.Average();
194-
var overheadTime = overheadTimes.Average();
182+
var workloadTime = workloadMeasurements.Average();
183+
var overheadTime = overheadMeasurements.Average();
195184

196185
// Allow for 1 cpu cycle variance
197186
Assert.True(overheadTime * cpuGhz < workloadTime * cpuGhz + 1, "Overhead took more time than workload.");

0 commit comments

Comments
 (0)