Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nietras/c206d4a7d9f173cc9271eabc8d01b1e6 to your computer and use it in GitHub Desktop.
Save nietras/c206d4a7d9f173cc9271eabc8d01b1e6 to your computer and use it in GitHub Desktop.
Array.Sort internal span benchmark
BenchmarkDotNet=v0.11.3.1003-nightly, OS=Windows 10.0.17763.503 (1809/October2018Update/Redstone5)
Intel Core i7-8700 CPU 3.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.0.100-preview5-011568
  [Host]     : .NET Core 3.0.0-preview5-27626-15 (CoreCLR 4.6.27622.75, CoreFX 4.700.19.22408), 64bit RyuJIT
  Job-VKBMMT : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT
  Job-SABOCD : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT

Runtime=Core  InvocationCount=25000  IterationTime=250.0000 ms  
MaxIterationCount=20  MinIterationCount=15  UnrollFactor=1  
WarmupCount=1  
Method Size Mean Error StdDev Median Min Max Ratio RatioSD Gen 0/1k Op Gen 1/1k Op Gen 2/1k Op Allocated Memory/Op
Array \coreclr-base\ 512 11.964 us 0.3498 us 0.3743 us 11.769 us 11.610 us 13.004 us 1.00 0.00 - - - -
Array \coreclr\ 512 8.234 us 0.0504 us 0.0472 us 8.245 us 8.159 us 8.310 us 0.69 0.02 - - - -
Array_ComparerClass \coreclr-base\ 512 28.533 us 0.1785 us 0.1583 us 28.479 us 28.396 us 28.884 us 1.00 0.00 - - - 64 B
Array_ComparerClass \coreclr\ 512 26.990 us 0.0851 us 0.0711 us 26.994 us 26.870 us 27.105 us 0.95 0.01 - - - 64 B
Array_ComparerStruct \coreclr-base\ 512 31.253 us 0.0645 us 0.0539 us 31.269 us 31.153 us 31.353 us 1.00 0.00 - - - 88 B
Array_ComparerStruct \coreclr\ 512 31.147 us 0.1634 us 0.1449 us 31.157 us 30.834 us 31.406 us 1.00 0.01 - - - 88 B
Array_Comparison \coreclr-base\ 512 27.999 us 0.0791 us 0.0660 us 27.993 us 27.872 us 28.087 us 1.00 0.00 - - - -
Array_Comparison \coreclr\ 512 26.739 us 0.0697 us 0.0618 us 26.742 us 26.628 us 26.844 us 0.95 0.00 - - - -
List \coreclr-base\ 512 11.590 us 0.2410 us 0.2776 us 11.520 us 11.260 us 12.166 us 1.00 0.00 - - - -
List \coreclr\ 512 8.170 us 0.0482 us 0.0451 us 8.154 us 8.101 us 8.254 us 0.71 0.02 - - - -
LinqQuery \coreclr-base\ 512 54.306 us 0.1352 us 0.1129 us 54.323 us 54.110 us 54.475 us 1.00 0.00 5.6000 0.6000 - 35240 B
LinqQuery \coreclr\ 512 53.658 us 0.1802 us 0.1686 us 53.658 us 53.432 us 53.937 us 0.99 0.00 5.6000 0.6000 - 35240 B
LinqOrderByExtension \coreclr-base\ 512 53.641 us 0.1503 us 0.1406 us 53.620 us 53.461 us 53.849 us 1.00 0.00 5.6000 0.6000 - 35240 B
LinqOrderByExtension \coreclr\ 512 53.362 us 0.1240 us 0.1160 us 53.316 us 53.194 us 53.580 us 0.99 0.00 5.6000 0.6000 - 35240 B
BenchmarkDotNet=v0.11.3.1003-nightly, OS=Windows 10.0.17763.503 (1809/October2018Update/Redstone5)
Intel Core i7-8700 CPU 3.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.0.100-preview5-011568
  [Host]     : .NET Core 3.0.0-preview5-27626-15 (CoreCLR 4.6.27622.75, CoreFX 4.700.19.22408), 64bit RyuJIT
  Job-VKBMMT : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT
  Job-SABOCD : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT

Runtime=Core  InvocationCount=25000  IterationTime=250.0000 ms  
MaxIterationCount=20  MinIterationCount=15  UnrollFactor=1  
WarmupCount=1  
Method Size Mean Error StdDev Median Min Max Ratio RatioSD Gen 0/1k Op Gen 1/1k Op Gen 2/1k Op Allocated Memory/Op
Array \coreclr-base 512 3.495 us 0.1296 us 0.1387 us 3.469 us 3.323 us 3.753 us 1.00 0.00 - - - -
Array \coreclr 512 3.640 us 0.2213 us 0.2460 us 3.573 us 3.317 us 4.222 us 1.05 0.08 - - - -
Array_ComparerClass \coreclr-base 512 19.367 us 0.1069 us 0.0948 us 19.357 us 19.207 us 19.560 us 1.00 0.00 - - - 64 B
Array_ComparerClass \coreclr 512 19.474 us 0.1196 us 0.1060 us 19.452 us 19.321 us 19.695 us 1.01 0.01 - - - 64 B
Array_ComparerStruct \coreclr-base 512 22.870 us 0.1593 us 0.1490 us 22.820 us 22.696 us 23.192 us 1.00 0.00 - - - 88 B
Array_ComparerStruct \coreclr 512 23.718 us 0.0634 us 0.0593 us 23.709 us 23.614 us 23.859 us 1.04 0.01 - - - 88 B
Array_Comparison \coreclr-base 512 18.615 us 0.0971 us 0.0861 us 18.598 us 18.519 us 18.826 us 1.00 0.00 - - - -
Array_Comparison \coreclr 512 19.760 us 0.2582 us 0.2415 us 19.647 us 19.556 us 20.369 us 1.06 0.01 - - - -
List \coreclr-base 512 3.385 us 0.0916 us 0.0980 us 3.335 us 3.298 us 3.607 us 1.00 0.00 - - - -
List \coreclr 512 3.759 us 0.4917 us 0.5465 us 3.534 us 3.279 us 5.224 us 1.10 0.17 - - - -
LinqQuery \coreclr-base 512 44.871 us 0.0871 us 0.0772 us 44.857 us 44.752 us 45.014 us 1.00 0.00 1.0400 - - 6544 B
LinqQuery \coreclr 512 43.417 us 0.2210 us 0.2068 us 43.334 us 43.148 us 43.775 us 0.97 0.00 1.0400 - - 6544 B
LinqOrderByExtension \coreclr-base 512 43.442 us 0.1730 us 0.1533 us 43.399 us 43.145 us 43.669 us 1.00 0.00 1.0400 - - 6544 B
LinqOrderByExtension \coreclr 512 42.751 us 0.1232 us 0.1153 us 42.729 us 42.611 us 42.980 us 0.98 0.01 1.0400 - - 6544 B
BenchmarkDotNet=v0.11.3.1003-nightly, OS=Windows 10.0.17763.503 (1809/October2018Update/Redstone5)
Intel Core i7-8700 CPU 3.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.0.100-preview5-011568
  [Host]     : .NET Core 3.0.0-preview5-27626-15 (CoreCLR 4.6.27622.75, CoreFX 4.700.19.22408), 64bit RyuJIT
  Job-VKBMMT : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT
  Job-SABOCD : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT

Runtime=Core  InvocationCount=25000  IterationTime=250.0000 ms  
MaxIterationCount=20  MinIterationCount=15  UnrollFactor=1  
WarmupCount=1  
Method Size Mean Error StdDev Median Min Max Ratio Gen 0/1k Op Gen 1/1k Op Gen 2/1k Op Allocated Memory/Op
Array \coreclr-base\ 512 32.86 us 0.1214 us 0.1135 us 32.85 us 32.70 us 33.07 us 1.00 - - - -
Array \coreclr\ 512 34.10 us 0.0576 us 0.0511 us 34.10 us 34.03 us 34.19 us 1.04 - - - -
Array_ComparerClass \coreclr-base\ 512 35.88 us 0.0355 us 0.0332 us 35.88 us 35.81 us 35.93 us 1.00 - - - 64 B
Array_ComparerClass \coreclr\ 512 37.02 us 0.1137 us 0.0950 us 37.05 us 36.84 us 37.17 us 1.03 - - - 64 B
Array_ComparerStruct \coreclr-base\ 512 40.26 us 0.0846 us 0.0792 us 40.27 us 40.14 us 40.41 us 1.00 - - - 88 B
Array_ComparerStruct \coreclr\ 512 41.28 us 0.0967 us 0.0905 us 41.32 us 41.10 us 41.39 us 1.03 - - - 88 B
Array_Comparison \coreclr-base\ 512 36.67 us 0.0821 us 0.0768 us 36.67 us 36.54 us 36.79 us 1.00 - - - -
Array_Comparison \coreclr\ 512 36.88 us 0.0722 us 0.0603 us 36.89 us 36.79 us 37.02 us 1.01 - - - -
List \coreclr-base\ 512 31.96 us 0.1287 us 0.1204 us 31.94 us 31.73 us 32.22 us 1.00 - - - -
List \coreclr\ 512 32.98 us 0.0816 us 0.0763 us 32.95 us 32.90 us 33.16 us 1.03 - - - -
LinqQuery \coreclr-base\ 512 58.89 us 0.1086 us 0.1016 us 58.86 us 58.73 us 59.05 us 1.00 1.6800 0.0400 - 10640 B
LinqQuery \coreclr\ 512 61.29 us 0.1264 us 0.1183 us 61.31 us 61.09 us 61.45 us 1.04 1.6800 0.0400 - 10640 B
LinqOrderByExtension \coreclr-base\ 512 58.87 us 0.1357 us 0.1269 us 58.83 us 58.63 us 59.11 us 1.00 1.6800 0.0400 - 10640 B
LinqOrderByExtension \coreclr\ 512 60.85 us 0.1259 us 0.1177 us 60.84 us 60.70 us 61.13 us 1.03 1.6800 0.0400 - 10640 B
BenchmarkDotNet=v0.11.3.1003-nightly, OS=Windows 10.0.17763.503 (1809/October2018Update/Redstone5)
Intel Core i7-8700 CPU 3.20GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.0.100-preview5-011568
  [Host]     : .NET Core 3.0.0-preview5-27626-15 (CoreCLR 4.6.27622.75, CoreFX 4.700.19.22408), 64bit RyuJIT
  Job-VKBMMT : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT
  Job-SABOCD : .NET Core ? (CoreCLR 4.700.19.30301, CoreFX 4.700.19.27908), 64bit RyuJIT

Runtime=Core  InvocationCount=25000  IterationTime=250.0000 ms  
MaxIterationCount=20  MinIterationCount=15  UnrollFactor=1  
WarmupCount=1  
Method Size Mean Error StdDev Median Min Max Ratio RatioSD Gen 0/1k Op Gen 1/1k Op Gen 2/1k Op Allocated Memory/Op
Array \coreclr-base 512 3.729 us 0.0498 us 0.0416 us 3.731 us 3.635 us 3.786 us 1.00 0.00 - - - -
Array \coreclr 512 3.925 us 0.2357 us 0.2522 us 3.913 us 3.654 us 4.505 us 1.07 0.08 - - - -
Array_ComparerClass \coreclr-base 512 20.788 us 0.0535 us 0.0474 us 20.782 us 20.669 us 20.867 us 1.00 0.00 - - - 64 B
Array_ComparerClass \coreclr 512 21.212 us 0.0889 us 0.0788 us 21.192 us 21.101 us 21.398 us 1.02 0.00 - - - 64 B
Array_ComparerStruct \coreclr-base 512 23.963 us 0.0966 us 0.0856 us 23.949 us 23.830 us 24.183 us 1.00 0.00 - - - 88 B
Array_ComparerStruct \coreclr 512 22.890 us 0.1253 us 0.1047 us 22.894 us 22.684 us 23.034 us 0.96 0.01 - - - 88 B
Array_Comparison \coreclr-base 512 20.161 us 0.1313 us 0.1164 us 20.157 us 19.995 us 20.401 us 1.00 0.00 - - - -
Array_Comparison \coreclr 512 21.104 us 0.0972 us 0.0910 us 21.101 us 20.995 us 21.292 us 1.05 0.01 - - - -
List \coreclr-base 512 4.891 us 1.0011 us 1.1528 us 4.679 us 3.741 us 7.906 us 1.00 0.00 - - - -
List \coreclr 512 4.047 us 0.1858 us 0.1988 us 4.076 us 3.765 us 4.503 us 0.84 0.17 - - - -
LinqQuery \coreclr-base 512 43.574 us 0.1450 us 0.1211 us 43.612 us 43.353 us 43.780 us 1.00 0.00 1.0400 - - 6544 B
LinqQuery \coreclr 512 43.385 us 0.0858 us 0.0802 us 43.407 us 43.191 us 43.521 us 1.00 0.00 1.0400 - - 6544 B
LinqOrderByExtension \coreclr-base 512 43.413 us 0.2357 us 0.2089 us 43.386 us 43.118 us 43.784 us 1.00 0.00 1.0400 - - 6544 B
LinqOrderByExtension \coreclr 512 42.935 us 0.0790 us 0.0739 us 42.938 us 42.818 us 43.040 us 0.99 0.01 1.0400 - - 6544 B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment