Skip to content

[Perf -1,796%] System.Globalization.Tests.StringSearch (33) #37819

@DrewScoggins

Description

@DrewScoggins

Run Information

Architecture x64
OS Windows 10.0.18362
Changes diff

Regressions in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Modality Baseline Outlier
IsPrefix_FirstHalf 1.03 μs 4.07 μs 3.95 False
IsPrefix_DifferentFirstChar 108.31 ns 943.68 ns 8.71 False
IndexOf_Word_NotFound 10.67 μs 16.73 μs 1.57 False
IsPrefix_FirstHalf 2.88 μs 6.44 μs 2.24 False
IsPrefix_FirstHalf 1.06 μs 4.07 μs 3.84 False
IndexOf_Word_NotFound 3.77 μs 13.06 μs 3.47 False
IsSuffix_SecondHalf 2.77 μs 7.91 μs 2.85 False
IndexOf_Word_NotFound 4.48 μs 12.74 μs 2.84 False
IsSuffix_SecondHalf 2.71 μs 7.89 μs 2.91 False
IndexOf_Word_NotFound 4.43 μs 13.30 μs 3.00 False
LastIndexOf_Word_NotFound 722.67 ns 3.07 μs 4.25 False
IsPrefix_DifferentFirstChar 74.49 ns 33.91 μs 455.17 False
LastIndexOf_Word_NotFound 3.45 μs 18.97 μs 5.49 False
IsPrefix_FirstHalf 1.04 μs 19.76 μs 18.92 False
LastIndexOf_Word_NotFound 3.48 μs 19.26 μs 5.53 False
IndexOf_Word_NotFound 4.41 μs 13.13 μs 2.97 False
IsPrefix_DifferentFirstChar 7.42 ns 12.15 ns 1.64 False
IsPrefix_DifferentFirstChar 79.69 ns 947.48 ns 11.89 False
IsPrefix_DifferentFirstChar 79.79 ns 948.99 ns 11.89 False
IsPrefix_FirstHalf 1.04 μs 4.02 μs 3.88 False
IsPrefix_DifferentFirstChar 110.79 ns 954.87 ns 8.62 False
LastIndexOf_Word_NotFound 3.48 μs 19.51 μs 5.61 False
IsPrefix_DifferentFirstChar 80.42 ns 958.20 ns 11.91 False
LastIndexOf_Word_NotFound 3.78 μs 18.52 μs 4.91 False
IsSuffix_SecondHalf 3.51 μs 22.03 μs 6.27 False
IsSuffix_SecondHalf 2.72 μs 7.91 μs 2.90 False
IndexOf_Word_NotFound 777.31 ns 3.10 μs 3.98 False
IsPrefix_FirstHalf 1.02 μs 4.07 μs 3.97 False
LastIndexOf_Word_NotFound 3.49 μs 19.50 μs 5.60 False
LastIndexOf_Word_NotFound 10.07 μs 20.54 μs 2.04 False
IsSuffix_DifferentLastChar 5.63 μs 39.52 μs 7.02 False
IsSuffix_SecondHalf 2.73 μs 7.87 μs 2.89 False
IndexOf_Word_NotFound 4.46 μs 13.17 μs 2.95 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Globalization.Tests.StringSearch*';

Histogram

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, None, True))

[ 532.994 ; 1506.890) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1506.890 ; 2450.272) | 
[2450.272 ; 3630.447) | 
[3630.447 ; 4673.898) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, None, True))

[-57.647 ;  229.992) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[229.992 ;  499.302) | 
[499.302 ;  836.791) | 
[836.791 ; 1134.778) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (pl-PL, None, False))

[ 9953.392 ; 11828.365) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11828.365 ; 13703.337) | 
[13703.337 ; 16027.879) | 
[16027.879 ; 17902.851) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (pl-PL, None, False))

[2703.046 ; 3792.142) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3792.142 ; 4881.238) | 
[4881.238 ; 5924.287) | 
[5924.287 ; 7146.272) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, True))

[ 525.539 ; 1514.034) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1514.034 ; 2474.524) | 
[2474.524 ; 3435.015) | 
[3435.015 ; 3926.624) | 
[3926.624 ; 4887.115) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreSymbols, False))

[ 2259.064 ;  5241.932) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5241.932 ;  8148.459) | 
[ 8148.459 ; 11969.034) | 
[11969.034 ; 15330.536) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, True))

[1914.833 ; 3559.149) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3559.149 ; 5151.682) | 
[5151.682 ; 7122.102) | 
[7122.102 ; 8784.868) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, True))

[ 3087.120 ;  5824.857) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5824.857 ;  8441.180) | 
[ 8441.180 ; 11057.502) | 
[11057.502 ; 12060.923) | 
[12060.923 ; 14677.246) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, True))

[1905.658 ; 3557.110) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3557.110 ; 5167.617) | 
[5167.617 ; 6778.125) | 
[6778.125 ; 7391.907) | 
[7391.907 ; 9002.415) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, True))

[ 3054.817 ;  5834.360) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5834.360 ;  8524.330) | 
[ 8524.330 ; 11890.856) | 
[11890.856 ; 14954.605) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, OrdinalIgnoreCase, False))

[ 350.301 ; 1095.495) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1095.495 ; 1837.360) | 
[1837.360 ; 2802.276) | 
[2802.276 ; 3675.831) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreSymbols, False))

[-5196.602 ;  5352.648) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5352.648 ; 15892.823) | 
[15892.823 ; 29067.736) | 
[29067.736 ; 40313.138) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, True))

[ 1046.538 ;  5927.685) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5927.685 ; 10729.973) | 
[10729.973 ; 16829.170) | 
[16829.170 ; 22116.673) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreSymbols, False))

[-1906.639 ;  3948.383) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 3948.383 ;  9758.511) | 
[ 9758.511 ; 17044.977) | 
[17044.977 ; 23293.181) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, True))

[ 1008.768 ;  5968.123) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5968.123 ; 10842.435) | 
[10842.435 ; 17145.390) | 
[17145.390 ; 22474.383) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreCase, True))

[ 3027.153 ;  5841.644) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5841.644 ;  8579.493) | 
[ 8579.493 ; 12168.340) | 
[12168.340 ; 15328.514) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, Ordinal, False))

[ 5.847 ;  6.880) | @@@@@@@@@@@
[ 6.880 ;  7.999) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 7.999 ;  8.325) | @
[ 8.325 ;  9.386) | @@@@@
[ 9.386 ; 10.364) | @@@@@@@@@@@
[10.364 ; 11.180) | @@
[11.180 ; 11.659) | 
[11.659 ; 12.637) | @

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, None, True))

[ -62.903 ;  228.875) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 228.875 ;  509.582) | 
[ 509.582 ;  814.970) | 
[ 814.970 ; 1095.676) | @@@@@@@@@@@@@@@@
[1095.676 ; 1298.573) | 
[1298.573 ; 1579.280) | @

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreCase, True))

[-56.551 ;  216.686) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[216.686 ;  485.750) | 
[485.750 ;  814.196) | 
[814.196 ; 1103.723) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, True))

[ 535.674 ; 1502.918) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1502.918 ; 2444.235) | 
[2444.235 ; 3542.375) | 
[3542.375 ; 4483.693) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (pl-PL, None, False))

[-19.275 ;  242.262) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[242.262 ;  499.677) | 
[499.677 ;  818.526) | 
[818.526 ; 1098.653) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, IgnoreCase, True))

[  945.637 ;  6038.158) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 6038.158 ; 11035.873) | 
[11035.873 ; 17371.911) | 
[17371.911 ; 22942.045) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, IgnoreCase, True))

[ -67.521 ;  225.544) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 225.544 ;  513.681) | 
[ 513.681 ;  823.953) | 
[ 823.953 ; 1112.089) | @@@@@@@@@@@@@@@@
[1112.089 ; 1439.797) | 
[1439.797 ; 1727.933) | @

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreSymbols, False))

[ 1434.261 ;  6120.375) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 6120.375 ; 10716.414) | 
[10716.414 ; 16639.187) | 
[16639.187 ; 21780.182) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreSymbols, False))

[  626.284 ;  6475.305) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 6475.305 ; 12241.662) | 
[12241.662 ; 19598.627) | 
[19598.627 ; 25941.681) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, None, True))

[1925.366 ; 3556.616) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3556.616 ; 5129.586) | 
[5129.586 ; 6895.171) | 
[6895.171 ; 8713.058) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, OrdinalIgnoreCase, False))

[ 411.510 ; 1197.222) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1197.222 ; 1925.966) | 
[1925.966 ; 2654.709) | 
[2654.709 ; 3605.985) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, None, True))

[ 535.447 ; 1520.669) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1520.669 ; 2460.814) | 
[2460.814 ; 3552.320) | 
[3552.320 ; 4673.803) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreCase, True))

[  934.801 ;  6050.886) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 6050.886 ; 11069.403) | 
[11069.403 ; 17387.864) | 
[17387.864 ; 23263.947) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (pl-PL, None, False))

[ 9691.776 ; 12986.817) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12986.817 ; 16281.858) | 
[16281.858 ; 19201.050) | 
[19201.050 ; 22937.761) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreSymbols, False))

[  343.478 ; 10975.753) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10975.753 ; 21399.639) | 
[21399.639 ; 34353.782) | 
[34353.782 ; 45601.938) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, None, True))

[1928.097 ; 3540.258) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3540.258 ; 5111.590) | 
[5111.590 ; 6884.287) | 
[6884.287 ; 8712.708) | @@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, IgnoreCase, True))

[ 3048.322 ;  5833.785) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 5833.785 ;  8523.563) | 
[ 8523.563 ; 11844.636) | 
[11844.636 ; 14653.704) | @@@@@@@@@@@@@@@@@

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions