String.Contains tests - rianjs/DotNetPerfTesting GitHub Wiki
.NET 7 on Intel 64
BenchmarkDotNet=v0.13.5, OS=macOS Ventura 13.2.1 (22D68) [Darwin 22.3.0]
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET SDK=7.0.102
[Host] : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
DefaultJob : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
Method |
Mean |
Error |
StdDev |
StringContainsOrdinal |
33.31 ns |
0.666 ns |
1.056 ns |
StringContainsOrdinalIgnoreCase |
80.29 ns |
0.335 ns |
0.280 ns |
StringContainsInvariantCulture |
10,121.47 ns |
200.014 ns |
498.105 ns |
StringContainsInvariantCultureIgnoreCase |
10,123.73 ns |
201.105 ns |
449.800 ns |
StringContainsCurrentCulture |
10,073.03 ns |
187.097 ns |
414.595 ns |
StringContainsCurrentCultureIgnoreCase |
10,107.69 ns |
199.831 ns |
478.783 ns |
.NET 8 on M3 Mac
BenchmarkDotNet v0.13.12, macOS Sonoma 14.4 (23E214) [Darwin 23.4.0]
Apple M3, 1 CPU, 8 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), Arm64 RyuJIT AdvSIMD
ShortRun : .NET 8.0.0 (8.0.23.53103), Arm64 RyuJIT AdvSIMD
Job=ShortRun IterationCount=3 LaunchCount=1
WarmupCount=3
Method |
Mean |
Error |
StdDev |
Allocated |
StringContainsOrdinal |
16.28 ns |
1.804 ns |
0.099 ns |
- |
StringContainsOrdinalIgnoreCase |
18.04 ns |
0.013 ns |
0.001 ns |
- |
StringContainsInvariantCulture |
3,676.22 ns |
476.528 ns |
26.120 ns |
- |
StringContainsInvariantCultureIgnoreCase |
3,746.27 ns |
515.470 ns |
28.255 ns |
- |
StringContainsCurrentCulture |
3,688.92 ns |
702.585 ns |
38.511 ns |
- |
StringContainsCurrentCultureIgnoreCase |
3,780.70 ns |
175.278 ns |
9.608 ns |
- |