Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance regression: string.Trim #13135

Closed
adamsitnik opened this issue Jul 23, 2019 · 3 comments
Closed

Performance regression: string.Trim #13135

adamsitnik opened this issue Jul 23, 2019 · 3 comments
Labels

Comments

@adamsitnik
Copy link
Member

string.Trim have regressed compared to 2.2. IMHO the test cases we have today rather don't test common use cases of string.Trim, it would be good to verify how more realistic test cases are affected.

I don't know the implementation details, it may be related to https://github.com/dotnet/coreclr/issues/25834

git clone https://github.com/dotnet/performance.git
cd performance
# if you don't have cli installed and want python script to download the latest cli for you
py .\scripts\benchmarks_ci.py -f netcoreapp2.2 netcoreapp3.0 --filter *Perf_String.*Trim*
# if you do
dotnet run -p .\src\benchmarks\micro\MicroBenchmarks.csproj -c Release -f netcoreapp2.2 --runtimes netcoreapp2.2 netcoreapp3.0 --filter *Perf_String.*Trim*

Legend

  • Statistical Test threshold: 5%, the noise filter: 0.3 ns
  • Base is Median Base in ns
  • Diff is Median Diff in ns

System.Tests.Perf_String.Trim_CharArr(s: "Test", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 5.09 6.19 0.82 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.92 8.21 0.60 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 8.35 9.81 0.85 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 8.74 14.28 0.61 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 8.21 10.66 0.77 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5.95 7.22 0.82 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.51 5.82 0.77 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7.03 8.13 0.86 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8.91 9.06 0.98 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimEnd_CharArr(s: "Test", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 4.41 6.79 0.65 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.78 6.71 0.71 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7.00 10.68 0.66 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 7.22 11.13 0.65 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6.08 6.48 0.94 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 5.82 6.17 0.94 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.93 5.46 0.72 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.77 7.31 0.93 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 7.49 7.63 0.98 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimStart_CharArr(s: "Test", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 4.29 5.27 0.82 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.54 6.66 0.68 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.55 8.84 0.74 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 7.13 8.59 0.83 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6.37 8.68 0.73 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5.54 6.19 0.89 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.99 4.92 0.81 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.54 7.31 0.89 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 7.83 7.72 1.02 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimStart(s: "Test")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 3.82 4.35 0.88 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.67 4.23 0.87 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.12 7.53 0.81 bimodal ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6.22 7.41 0.84 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 5.31 6.03 0.88 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 4.50 4.48 1.00 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.12 4.33 0.72 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.24 5.36 0.79 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.39 4.87 0.90 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimEnd(s: "Test")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 4.25 4.79 0.89 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.47 4.70 0.74 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.65 8.23 0.81 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6.73 7.49 0.90 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 5.31 6.02 0.88 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.22 4.95 0.85 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3.07 3.73 0.82 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5.42 5.92 0.92 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 4.70 4.91 0.96 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim(s: "Test")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 5.11 6.33 0.81 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5.23 6.12 0.85 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 8.21 10.59 0.78 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 8.61 10.32 0.83 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6.85 7.82 0.88 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6.34 6.44 0.99 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4.51 5.72 0.79 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6.50 7.27 0.89 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 7.30 6.01 1.21 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim_CharArr(s: " Test", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 16.75 18.13 0.92 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13.29 14.71 0.90 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 26.92 35.61 0.76 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 27.92 34.39 0.81 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 20.82 20.61 1.01 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 15.99 18.14 0.88 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 10.92 13.25 0.82 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.14 16.89 0.96 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 22.15 21.37 1.04 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimEnd_CharArr(s: "Test ", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 14.93 15.65 0.95 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 12.10 13.33 0.91 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 25.97 29.60 0.88 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 26.12 29.83 0.88 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 18.27 20.10 0.91 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 14.21 17.10 0.83 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 10.35 12.04 0.86 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15.88 16.41 0.97 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 19.24 19.25 1.00 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim_CharArr(s: "Test ", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 16.00 17.51 0.91 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13.30 14.40 0.92 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 27.53 33.11 0.83 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 28.57 32.77 0.87 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 20.37 20.98 0.97 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 16.05 18.75 0.86 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 10.94 13.29 0.82 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 17.23 17.32 1.00 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 20.87 20.50 1.02 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim_CharArr(s: " Te st ", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 17.59 20.10 0.88 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15.09 15.99 0.94 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 32.48 38.08 0.85 bimodal ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 31.71 37.10 0.85 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 23.27 23.13 1.01 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 18.04 20.47 0.88 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13.37 15.32 0.87 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 18.56 19.46 0.95 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 23.03 23.31 0.99 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimStart_CharArr(s: " Test", c: [' ', ' '])

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 14.33 15.75 0.91 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 12.15 13.50 0.90 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 24.89 29.57 0.84 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 25.55 29.82 0.86 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 17.88 19.01 0.94 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 14.72 17.11 0.86 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 10.92 12.30 0.89 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 15.41 16.36 0.94 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 23.06 19.77 1.17 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimStart(s: " Test")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 14.13 15.88 0.89 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 12.14 13.54 0.90 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 24.20 28.54 0.85 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 25.48 28.40 0.90 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 17.97 18.52 0.97 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 14.47 14.95 0.97 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 10.22 11.39 0.90 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 14.32 15.35 0.93 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15.89 15.68 1.01 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim(s: " Test")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 15.42 16.95 0.91 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13.65 14.47 0.94 several? Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 26.40 31.94 0.83 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 27.43 32.18 0.85 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 19.53 20.79 0.94 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.44 17.16 0.96 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 11.53 11.99 0.96 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.07 16.65 0.97 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.89 16.98 0.99 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim(s: "Test ")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 16.26 17.37 0.94 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13.62 14.75 0.92 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 27.60 31.86 0.87 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 28.71 31.67 0.91 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 19.81 21.39 0.93 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.41 17.29 0.95 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 11.67 11.72 0.99 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.38 16.89 0.97 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 16.24 17.43 0.93 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.TrimEnd(s: "Test ")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 15.06 16.29 0.92 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 12.05 13.37 0.90 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 26.02 29.61 0.88 bimodal ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 27.04 29.99 0.90 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 18.30 19.49 0.94 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 14.53 15.37 0.95 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 10.04 10.50 0.96 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15.08 15.49 0.97 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15.87 15.90 1.00 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Tests.Perf_String.Trim(s: " Te st ")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Slower 18.55 20.42 0.91 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16.41 17.02 0.96 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 31.73 36.62 0.87 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 32.90 36.74 0.90 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 23.45 24.28 0.97 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 19.72 19.67 1.00 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 14.32 14.06 1.02 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 20.01 20.27 0.99 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 18.20 19.50 0.93 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Memory.ReadOnlySpan.Trim(input: " abcdefg ")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 40.45 25.15 1.61 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16.73 9.94 1.68 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 68.78 39.69 1.73 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 66.47 41.09 1.62 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 50.66 33.82 1.50 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 19.62 12.02 1.63 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16.16 8.44 1.92 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18.83 11.42 1.65 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 11.69 9.45 1.24 several? Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Memory.ReadOnlySpan.Trim(input: "abcdefg")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 40.05 24.18 1.66 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 15.39 5.79 2.66 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 63.66 41.53 1.53 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 71.93 39.61 1.82 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 49.32 30.09 1.64 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18.00 6.77 2.66 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 14.45 5.55 2.60 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16.01 7.20 2.22 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 9.12 5.06 1.80 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Memory.ReadOnlySpan.Trim(input: "")

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 41.68 21.30 1.96 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 13.11 3.14 4.18 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 56.87 37.78 1.51 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 61.40 39.28 1.56 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 44.39 26.62 1.67 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 15.28 3.73 4.10 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 11.64 3.00 3.88 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 13.54 5.05 2.68 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 6.35 3.01 2.11 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

/cc @danmosemsft @billwert @DrewScoggins

@danmoseley
Copy link
Member

Trim doesn't appear to use IndexOf, so #13130 may not be the cause.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@maryamariyan maryamariyan added the untriaged New issue has not been triaged by the area owner label Feb 26, 2020
@joperezr joperezr removed the untriaged New issue has not been triaged by the area owner label Jul 2, 2020
Copy link
Contributor

Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.

This process is part of our issue cleanup automation.

@dotnet-policy-service dotnet-policy-service bot added backlog-cleanup-candidate An inactive issue that has been marked for automated closure. no-recent-activity labels Jan 2, 2025
Copy link
Contributor

This issue will now be closed since it had been marked no-recent-activity but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.

@dotnet-policy-service dotnet-policy-service bot removed this from the Future milestone Jan 16, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Feb 16, 2025
@dotnet-policy-service dotnet-policy-service bot removed no-recent-activity backlog-cleanup-candidate An inactive issue that has been marked for automated closure. labels Feb 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants