Skip to content

Commit 8be6b2b

Browse files
committed
Update FilterLinesBenchmarks.cs
1 parent 89341c6 commit 8be6b2b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/Benchmarks/FilterLinesBenchmarks.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ static StringBuilder CreateTestData(int lineCount, int charsPerLine)
3535
static bool RemoveEvenLines(string line) =>
3636
line.Length > 0 && char.IsDigit(line[^1]) && (line[^1] - '0') % 2 == 0;
3737

38+
// Never matches - no lines removed
39+
static bool NeverMatches(string line) => false;
40+
3841
[Benchmark(Baseline = true)]
3942
public void Small()
4043
{
@@ -55,4 +58,25 @@ public void Large()
5558
var builder = new StringBuilder(largeInput.ToString());
5659
builder.FilterLines(RemoveEvenLines);
5760
}
61+
62+
[Benchmark]
63+
public void Small_NoMatches()
64+
{
65+
var builder = new StringBuilder(smallInput.ToString());
66+
builder.FilterLines(NeverMatches);
67+
}
68+
69+
[Benchmark]
70+
public void Medium_NoMatches()
71+
{
72+
var builder = new StringBuilder(mediumInput.ToString());
73+
builder.FilterLines(NeverMatches);
74+
}
75+
76+
[Benchmark]
77+
public void Large_NoMatches()
78+
{
79+
var builder = new StringBuilder(largeInput.ToString());
80+
builder.FilterLines(NeverMatches);
81+
}
5882
}

0 commit comments

Comments
 (0)