Skip to content

Commit 12a1c4b

Browse files
committed
updated benchmarks
1 parent 0e6df22 commit 12a1c4b

12 files changed

+108
-108
lines changed

tests/Performance/Tests/ReadOnlySpan/Split/ReadOnlySpan_Split_Benchmark.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ public class ReadOnlySpan_Split_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
1010
public int Split_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.Split(delimiter))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
2424
public int Split_String(string value, char delimiter)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiter))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiter()

tests/Performance/Tests/ReadOnlySpan/Split/ReadOnlySpan_Split_Count_Benchmark.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,42 @@ public class ReadOnlySpan_Split_Count_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCount))]
1010
public int Split_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter, int count)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.Split(delimiter, count))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCount))]
2424
public int Split_String(string value, char delimiter, int count)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiter, count))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
[Benchmark]
3737
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCount))]
3838
public int Split_CutLastElements_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter, int count)
3939
{
40-
int length = 0;
40+
int iterations = 0;
4141

4242
foreach(ReadOnlySpan<char> part in value.Split(delimiter, count, CountExceedingBehaviour.CutRemainingElements))
4343
{
44-
length += part.Length;
44+
iterations++;
4545
}
4646

47-
return length;
47+
return iterations;
4848
}
4949

5050
public IEnumerable<object[]> GetArgsWithDelimiterAndCount()

tests/Performance/Tests/ReadOnlySpan/Split/ReadOnlySpan_Split_Count_StringSplitOptions_Benchmark.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,42 @@ public class ReadOnlySpan_Split_Count_StringSplitOptions_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCountAndStringSplitOptions))]
1010
public int Split_Count_StringSplitOptions_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter, int count, StringSplitOptions options)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.Split(delimiter, count, options))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCountAndStringSplitOptions))]
2424
public int Split_Count_StringSplitOptions_String(string value, char delimiter, int count, StringSplitOptions options)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiter, count, options))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
[Benchmark]
3737
[ArgumentsSource(nameof(GetArgsWithDelimiterAndCountAndStringSplitOptions))]
3838
public int Split_Count_StringSplitOptions_CountExceedingBehaviour_CutLastElements_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter, int count, StringSplitOptions options)
3939
{
40-
int length = 0;
40+
int iterations = 0;
4141

4242
foreach(ReadOnlySpan<char> part in value.Split(delimiter, count, options, CountExceedingBehaviour.CutRemainingElements))
4343
{
44-
length += part.Length;
44+
iterations++;
4545
}
4646

47-
return length;
47+
return iterations;
4848
}
4949

5050
public IEnumerable<object[]> GetArgsWithDelimiterAndCountAndStringSplitOptions()

tests/Performance/Tests/ReadOnlySpan/Split/ReadOnlySpan_Split_StringSplitOptions_Benchmark.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ public class ReadOnlySpan_Split_StringSplitOptions_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiterAndStringSplitOptions))]
1010
public int Split_StringSplitOptions_ReadOnlySpan(ReadOnlySpan<char> value, char delimiter, StringSplitOptions options)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.Split(delimiter, options))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiterAndStringSplitOptions))]
2424
public int Split_StringSplitOptions_String(string value, char delimiter, StringSplitOptions options)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiter, options))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiterAndStringSplitOptions()

tests/Performance/Tests/ReadOnlySpan/SplitAny/ReadOnlySpan_Split_Any_Benchmark.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,36 @@ public class ReadOnlySpan_Split_Any_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
1010
public int Split_Any_ReadOnlySpan(ReadOnlySpan<char> value, char[] delimiters)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.SplitAny(delimiters))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
2424
public int Split_Any_String(string value, char[] delimiters)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiters))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiter()
3737
{
38-
yield return new object[] { "abcde", new object[] { 'b', 'd' } };
39-
yield return new object[] { "abcdefg", new object[] { 'b', 'd', 'f' } };
40-
yield return new object[] { "abba", new object[] { 'b', 'a' } };
41-
yield return new object[] { "1234567890", new object[] { '1', '5', '7' } };
38+
yield return ["abcde", new char[] { 'b', 'd' }];
39+
yield return ["abcdefg", new char[] { 'b', 'd', 'f' }];
40+
yield return ["abba", new char[] { 'b', 'a' } ];
41+
yield return ["1234567890", new char[] { '1', '5', '7' }];
4242
}
4343
}
4444
}

tests/Performance/Tests/ReadOnlySpan/SplitAny/ReadOnlySpan_Split_Any_Count_Benchmark.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,36 @@ public class ReadOnlySpan_Split_Any_Count_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
1010
public int Split_Any_Count_ReadOnlySpan(ReadOnlySpan<char> value, char[] delimiters, int count)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.SplitAny(delimiters, count))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
2424
public int Split_Any_Count_String(string value, char[] delimiters, int count)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiters, count))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiter()
3737
{
38-
yield return ["abcde", new object[] { 'b', 'd' }, 2];
39-
yield return ["abcdefg", new object[] { 'b', 'd', 'f' }, 4];
40-
yield return ["abba", new object[] { 'b', 'a' }, 2];
41-
yield return ["1234567890", new object[] { '1', '5', '7' }, 1];
38+
yield return ["abcde", new char[] { 'b', 'd' }, 2];
39+
yield return ["abcdefg", new char[] { 'b', 'd', 'f' }, 4];
40+
yield return ["abba", new char[] { 'b', 'a' }, 2];
41+
yield return ["1234567890", new char[] { '1', '5', '7' }, 1];
4242
}
4343
}
4444
}

tests/Performance/Tests/ReadOnlySpan/SplitAny/ReadOnlySpan_Split_Any_Count_StringSplitOptions_Benchmark.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,40 @@ public class ReadOnlySpan_Split_Any_Count_StringSplitOptions_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
1010
public int Split_Any_Count_ReadOnlySpan(ReadOnlySpan<char> value, char[] delimiters, int count, StringSplitOptions options)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.SplitAny(delimiters, count, options))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
2424
public int Split_Any_Count_String(string value, char[] delimiters, int count, StringSplitOptions options)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiters, count, options))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiter()
3737
{
38-
yield return ["abcde", new object[] { 'b', 'd' }, 2, StringSplitOptions.None];
39-
yield return ["abcdefg", new object[] { 'b', 'd', 4, 'f' }, StringSplitOptions.None];
40-
yield return ["abba", new object[] { 'b', 'a' }, 2, StringSplitOptions.None];
41-
yield return ["1234567890", new object[] { '1', '5', '7' }, 1, StringSplitOptions.None];
42-
yield return ["abcde", new object[] { 'b', 'c' }, 4, StringSplitOptions.RemoveEmptyEntries];
43-
yield return ["abba", new object[] { 'b', 'a' }, 1, StringSplitOptions.RemoveEmptyEntries];
44-
yield return ["abba", new object[] { 'b', 'a' }, 3, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries];
45-
yield return [" 1234 567890", new object[] { '1', '5', '7' }, 3, StringSplitOptions.TrimEntries];
38+
yield return ["abcde", new char[] { 'b', 'd' }, 2, StringSplitOptions.None];
39+
yield return ["abcdefg", new char[] { 'b', 'd', 'f' }, 4, StringSplitOptions.None];
40+
yield return ["abba", new char[] { 'b', 'a' }, 2, StringSplitOptions.None];
41+
yield return ["1234567890", new char[] { '1', '5', '7' }, 1, StringSplitOptions.None];
42+
yield return ["abcde", new char[] { 'b', 'c' }, 4, StringSplitOptions.RemoveEmptyEntries];
43+
yield return ["abba", new char[] { 'b', 'a' }, 1, StringSplitOptions.RemoveEmptyEntries];
44+
yield return ["abba", new char[] { 'b', 'a' }, 3, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries];
45+
yield return [" 1234 567890", new char[] { '1', '5', '7' }, 3, StringSplitOptions.TrimEntries];
4646
}
4747
}
4848
}

tests/Performance/Tests/ReadOnlySpan/SplitAny/ReadOnlySpan_Split_Any_StringSplitOptions_Benchmark.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,39 @@ public class ReadOnlySpan_Split_Any_StringSplitOptions_Benchmark
99
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
1010
public int Split_Any_Count_ReadOnlySpan(ReadOnlySpan<char> value, char[] delimiters, StringSplitOptions options)
1111
{
12-
int length = 0;
12+
int iterations = 0;
1313

1414
foreach(ReadOnlySpan<char> part in value.SplitAny(delimiters, options))
1515
{
16-
length += part.Length;
16+
iterations++;
1717
}
1818

19-
return length;
19+
return iterations;
2020
}
2121

2222
[Benchmark(Baseline = true)]
2323
[ArgumentsSource(nameof(GetArgsWithDelimiter))]
2424
public int Split_Any_Count_String(string value, char[] delimiters, StringSplitOptions options)
2525
{
26-
int length = 0;
26+
int iterations = 0;
2727

2828
foreach(string part in value.Split(delimiters, options))
2929
{
30-
length += part.Length;
30+
iterations++;
3131
}
3232

33-
return length;
33+
return iterations;
3434
}
3535

3636
public IEnumerable<object[]> GetArgsWithDelimiter()
3737
{
38-
yield return ["abcde", new object[] { 'b', 'd' }, StringSplitOptions.None];
39-
yield return ["abcdefg", new object[] { 'b', 'd', 'f' }, StringSplitOptions.None];
40-
yield return ["abba", new object[] { 'b', 'a' }, StringSplitOptions.None];
41-
yield return ["1234567890", new object[] { '1', '5', '7' }, StringSplitOptions.None];
42-
yield return ["abcde", new object[] { 'b', 'c' }, StringSplitOptions.RemoveEmptyEntries];
43-
yield return ["abba", new object[] { 'b', 'a' }, StringSplitOptions.RemoveEmptyEntries];
44-
yield return ["abba", new object[] { 'b', 'a' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries];
45-
yield return [" 1234 567890", new object[] { '1', '5', '7' }, StringSplitOptions.TrimEntries];
38+
yield return ["abcde", new char[] { 'b', 'd' }, StringSplitOptions.None];
39+
yield return ["abcdefg", new char[] { 'b', 'd', 'f' }, StringSplitOptions.None];
40+
yield return ["abba", new char[] { 'b', 'a' }, StringSplitOptions.None];
41+
yield return ["1234567890", new char[] { '1', '5', '7' }, StringSplitOptions.None];
42+
yield return ["abcde", new char[] { 'b', 'c' }, StringSplitOptions.RemoveEmptyEntries];
43+
yield return ["abba", new char[] { 'b', 'a' }, StringSplitOptions.RemoveEmptyEntries];
44+
yield return ["abba", new char[] { 'b', 'a' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries];
45+
yield return [" 1234 567890", new char[] { '1', '5', '7' }, StringSplitOptions.TrimEntries];
4646
}
4747
}

0 commit comments

Comments
 (0)