Skip to content

Instantly share code, notes, and snippets.

@danmoseley
Created November 4, 2018 00:30
Show Gist options
  • Save danmoseley/73d62cbf5f94eb0e1c0f89a9ba34a208 to your computer and use it in GitHub Desktop.
Save danmoseley/73d62cbf5f94eb0e1c0f89a9ba34a208 to your computer and use it in GitHub Desktop.
DictionarySlim perf results on Q6600
Mean = 6.7743 s, StdErr = 0.0503 s (0.74%); N = 100, StdDev = 0.5025 s
Min = 5.9039 s, Q1 = 6.3304 s, Median = 6.6198 s, Q3 = 7.2020 s, Max = 7.9049 s
IQR = 0.8716 s, LowerFence = 5.0231 s, UpperFence = 8.5093 s
ConfidenceInterval = [6.6039 s; 6.9447 s] (CI 99.9%), Margin = 0.1704 s (2.52% of Mean)
Skewness = 0.6, Kurtosis = 2.17, MValue = 2.65
// ***** BenchmarkRunner: Finish *****
// * Export *
BenchmarkDotNet.Artifacts/results/Microsoft.Experimental.Collections.Benchmarks.RefDictionaryKNucleotide-report.csv
BenchmarkDotNet.Artifacts/results/Microsoft.Experimental.Collections.Benchmarks.RefDictionaryKNucleotide-report-github.md
BenchmarkDotNet.Artifacts/results/Microsoft.Experimental.Collections.Benchmarks.RefDictionaryKNucleotide-report.html
// * Detailed results *
RefDictionaryKNucleotide.Hack: DefaultJob [Size=250000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 156.5303 ms, StdErr = 0.8143 ms (0.52%); N = 28, StdDev = 4.3091 ms
Min = 148.6972 ms, Q1 = 153.5487 ms, Median = 155.8680 ms, Q3 = 159.8736 ms, Max = 164.2027 ms
IQR = 6.3249 ms, LowerFence = 144.0613 ms, UpperFence = 169.3609 ms
ConfidenceInterval = [153.5257 ms; 159.5349 ms] (CI 99.9%), Margin = 3.0046 ms (1.92% of Mean)
Skewness = 0.35, Kurtosis = 1.99, MValue = 2
-------------------- Histogram --------------------
[147.456 ms ; 153.063 ms) | @@@@@
[153.063 ms ; 158.898 ms) | @@@@@@@@@@@@@@@@
[158.898 ms ; 164.756 ms) | @@@@@@@
---------------------------------------------------
RefDictionaryKNucleotide.Dictionary: DefaultJob [Size=250000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 223.4859 ms, StdErr = 1.3018 ms (0.58%); N = 84, StdDev = 11.9309 ms
Min = 206.2279 ms, Q1 = 214.7237 ms, Median = 220.1711 ms, Q3 = 232.1830 ms, Max = 251.1654 ms
IQR = 17.4593 ms, LowerFence = 188.5347 ms, UpperFence = 258.3720 ms
ConfidenceInterval = [219.0448 ms; 227.9271 ms] (CI 99.9%), Margin = 4.4412 ms (1.99% of Mean)
Skewness = 0.73, Kurtosis = 2.45, MValue = 2.5
-------------------- Histogram --------------------
[203.844 ms ; 211.965 ms) | @@@@@@@@@@@@@
[211.965 ms ; 218.026 ms) | @@@@@@@@@@@@@@@@@@@@@@@@
[218.026 ms ; 224.488 ms) | @@@@@@@@@@@@@@@@
[224.488 ms ; 230.054 ms) | @@@@@@@@
[230.054 ms ; 237.878 ms) | @@@@@@@@@
[237.878 ms ; 251.425 ms) | @@@@@@@@@@@@@@
---------------------------------------------------
RefDictionaryKNucleotide.RefDictionary: DefaultJob [Size=250000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 137.3609 ms, StdErr = 0.8630 ms (0.63%); N = 49, StdDev = 6.0411 ms
Min = 127.6419 ms, Q1 = 132.1350 ms, Median = 137.1731 ms, Q3 = 142.2039 ms, Max = 157.1022 ms
IQR = 10.0690 ms, LowerFence = 117.0315 ms, UpperFence = 157.3073 ms
ConfidenceInterval = [134.3360 ms; 140.3859 ms] (CI 99.9%), Margin = 3.0249 ms (2.20% of Mean)
Skewness = 0.56, Kurtosis = 3.53, MValue = 2.1
-------------------- Histogram --------------------
[127.266 ms ; 130.155 ms) | @@@@@@
[130.155 ms ; 133.688 ms) | @@@@@@@@@@
[133.688 ms ; 139.277 ms) | @@@@@@@@@@@@@@@@
[139.277 ms ; 143.535 ms) | @@@@@@@@@@@@
[143.535 ms ; 146.840 ms) | @@@
[146.840 ms ; 149.806 ms) | @
[149.806 ms ; 158.547 ms) | @
---------------------------------------------------
RefDictionaryKNucleotide.Hack: DefaultJob [Size=2500000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 983.4865 ms, StdErr = 5.8056 ms (0.59%); N = 100, StdDev = 58.0562 ms
Min = 851.2137 ms, Q1 = 926.2616 ms, Median = 973.5402 ms, Q3 = 1,044.6623 ms, Max = 1,088.3274 ms
IQR = 118.4007 ms, LowerFence = 748.6606 ms, UpperFence = 1,222.2634 ms
ConfidenceInterval = [963.7965 ms; 1,003.1764 ms] (CI 99.9%), Margin = 19.6899 ms (2.00% of Mean)
Skewness = 0.27, Kurtosis = 1.8, MValue = 3.1
-------------------- Histogram --------------------
[ 840.269 ms ; 862.158 ms) | @
[ 862.158 ms ; 884.047 ms) |
[ 884.047 ms ; 905.935 ms) |
[ 905.935 ms ; 933.720 ms) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 933.720 ms ; 962.161 ms) | @@@@@@@@@@@@
[ 962.161 ms ; 984.050 ms) | @@@@@@@@@@@@@@@@@
[ 984.050 ms ; 1007.915 ms) | @@@@@@@@@
[1007.915 ms ; 1046.108 ms) | @@@@@@@@
[1046.108 ms ; 1073.955 ms) | @@@@@@@@@@@@@@@@@@
[1073.955 ms ; 1099.272 ms) | @@@@@@
---------------------------------------------------
RefDictionaryKNucleotide.Dictionary: DefaultJob [Size=2500000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 1.3992 s, StdErr = 0.0099 s (0.71%); N = 100, StdDev = 0.0989 s
Min = 1.1905 s, Q1 = 1.3237 s, Median = 1.4218 s, Q3 = 1.4893 s, Max = 1.5184 s
IQR = 0.1656 s, LowerFence = 1.0752 s, UpperFence = 1.7377 s
ConfidenceInterval = [1.3656 s; 1.4328 s] (CI 99.9%), Margin = 0.0336 s (2.40% of Mean)
Skewness = -0.52, Kurtosis = 1.77, MValue = 2.81
-------------------- Histogram --------------------
[1.172 s ; 1.200 s) | @
[1.200 s ; 1.237 s) | @@@@@@@@
[1.237 s ; 1.298 s) | @@@@@@@@@@@@@@
[1.298 s ; 1.354 s) | @@@@@@@@@@@@@@@
[1.354 s ; 1.388 s) | @@@@
[1.388 s ; 1.425 s) | @@@@@@@@@
[1.425 s ; 1.463 s) | @
[1.463 s ; 1.500 s) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1.500 s ; 1.537 s) | @
---------------------------------------------------
RefDictionaryKNucleotide.RefDictionary: DefaultJob [Size=2500000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 711.6238 ms, StdErr = 5.4448 ms (0.77%); N = 100, StdDev = 54.4481 ms
Min = 598.2653 ms, Q1 = 666.9316 ms, Median = 688.7780 ms, Q3 = 765.8268 ms, Max = 834.0228 ms
IQR = 98.8951 ms, LowerFence = 518.5889 ms, UpperFence = 914.1695 ms
ConfidenceInterval = [693.1575 ms; 730.0900 ms] (CI 99.9%), Margin = 18.4662 ms (2.59% of Mean)
Skewness = 0.59, Kurtosis = 2.03, MValue = 2.4
-------------------- Histogram --------------------
[588.001 ms ; 608.530 ms) | @
[608.530 ms ; 639.620 ms) |
[639.620 ms ; 663.976 ms) | @@@
[663.976 ms ; 684.504 ms) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[684.504 ms ; 707.957 ms) | @@@@@@@@
[707.957 ms ; 728.485 ms) | @@@@@@@@@
[728.485 ms ; 753.313 ms) | @@@@@@
[753.313 ms ; 773.842 ms) | @@@@@@@@
[773.842 ms ; 799.531 ms) | @@@@@@@@@@@@@
[799.531 ms ; 819.950 ms) | @@@@@
[819.950 ms ; 844.287 ms) | @@
---------------------------------------------------
RefDictionaryKNucleotide.Hack: DefaultJob [Size=25000000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 9.3605 s, StdErr = 0.0540 s (0.58%); N = 73, StdDev = 0.4614 s
Min = 8.4182 s, Q1 = 9.0301 s, Median = 9.3198 s, Q3 = 9.6690 s, Max = 10.5648 s
IQR = 0.6388 s, LowerFence = 8.0719 s, UpperFence = 10.6272 s
ConfidenceInterval = [9.1752 s; 9.5458 s] (CI 99.9%), Margin = 0.1853 s (1.98% of Mean)
Skewness = 0.37, Kurtosis = 2.73, MValue = 3.27
-------------------- Histogram --------------------
[ 8.376 s ; 8.569 s) | @@@
[ 8.569 s ; 8.909 s) | @@@@@@@@
[ 8.909 s ; 9.195 s) | @@@@@@@@@@@@@@@@@@@@@@
[ 9.195 s ; 9.594 s) | @@@@@@@@@@@@
[ 9.594 s ; 9.965 s) | @@@@@@@@@@@@@@@@@@@@@@
[ 9.965 s ; 10.216 s) | @
[10.216 s ; 10.661 s) | @@@@@
---------------------------------------------------
RefDictionaryKNucleotide.Dictionary: DefaultJob [Size=25000000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 14.4248 s, StdErr = 0.0735 s (0.51%); N = 27, StdDev = 0.3821 s
Min = 13.7567 s, Q1 = 14.1127 s, Median = 14.4812 s, Q3 = 14.6327 s, Max = 15.1978 s
IQR = 0.5200 s, LowerFence = 13.3327 s, UpperFence = 15.4127 s
ConfidenceInterval = [14.1522 s; 14.6974 s] (CI 99.9%), Margin = 0.2726 s (1.89% of Mean)
Skewness = 0.08, Kurtosis = 2.25, MValue = 2
-------------------- Histogram --------------------
[13.645 s ; 14.203 s) | @@@@@@@@
[14.203 s ; 14.705 s) | @@@@@@@@@@@@@@
[14.705 s ; 15.309 s) | @@@@@
---------------------------------------------------
RefDictionaryKNucleotide.RefDictionary: DefaultJob [Size=25000000]
Runtime = .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT; GC = Concurrent Workstation
Mean = 6.7743 s, StdErr = 0.0503 s (0.74%); N = 100, StdDev = 0.5025 s
Min = 5.9039 s, Q1 = 6.3304 s, Median = 6.6198 s, Q3 = 7.2020 s, Max = 7.9049 s
IQR = 0.8716 s, LowerFence = 5.0231 s, UpperFence = 8.5093 s
ConfidenceInterval = [6.6039 s; 6.9447 s] (CI 99.9%), Margin = 0.1704 s (2.52% of Mean)
Skewness = 0.6, Kurtosis = 2.17, MValue = 2.65
-------------------- Histogram --------------------
[5.851 s ; 6.075 s) | @@
[6.075 s ; 6.221 s) | @@
[6.221 s ; 6.411 s) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[6.411 s ; 6.695 s) | @@@@@@@@@@@@@@@@@@@@@@@
[6.695 s ; 6.949 s) | @@@@@@@@@@
[6.949 s ; 7.106 s) | @@
[7.106 s ; 7.296 s) | @@@@@@@@@@@@
[7.296 s ; 7.584 s) | @@@@@@@@@@
[7.584 s ; 8.000 s) | @@@@@@@@
---------------------------------------------------
// * Summary *
BenchmarkDotNet=v0.11.1, OS=ubuntu 18.04
Intel Core2 Quad CPU Q6600 2.40GHz, 1 CPU, 4 logical and 4 physical cores
.NET Core SDK=2.1.401
[Host] : .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT
DefaultJob : .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT
Method | Size | Mean | Error | StdDev | Median | Scaled | ScaledSD |
-------------- |--------- |------------:|-----------:|-----------:|------------:|-------:|---------:|
Hack | 250000 | 156.5 ms | 3.005 ms | 4.309 ms | 155.9 ms | 0.70 | 0.04 |
Dictionary | 250000 | 223.5 ms | 4.441 ms | 11.931 ms | 220.2 ms | 1.00 | 0.00 |
RefDictionary | 250000 | 137.4 ms | 3.025 ms | 6.041 ms | 137.2 ms | 0.62 | 0.04 |
| | | | | | | |
Hack | 2500000 | 983.5 ms | 19.690 ms | 58.056 ms | 973.5 ms | 0.71 | 0.07 |
Dictionary | 2500000 | 1,399.2 ms | 33.559 ms | 98.948 ms | 1,421.8 ms | 1.00 | 0.00 |
RefDictionary | 2500000 | 711.6 ms | 18.466 ms | 54.448 ms | 688.8 ms | 0.51 | 0.05 |
| | | | | | | |
Hack | 25000000 | 9,360.5 ms | 185.271 ms | 461.390 ms | 9,319.8 ms | 0.65 | 0.04 |
Dictionary | 25000000 | 14,424.8 ms | 272.597 ms | 382.143 ms | 14,481.2 ms | 1.00 | 0.00 |
RefDictionary | 25000000 | 6,774.3 ms | 170.427 ms | 502.509 ms | 6,619.8 ms | 0.47 | 0.04 |
// * Warnings *
MultimodalDistribution
RefDictionaryKNucleotide.Hack: Default -> It seems that the distribution can have several modes (mValue = 3.1)
RefDictionaryKNucleotide.Dictionary: Default -> It seems that the distribution can have several modes (mValue = 2.81)
RefDictionaryKNucleotide.Hack: Default -> It seems that the distribution is bimodal (mValue = 3.27)
// * Hints *
Outliers
RefDictionaryKNucleotide.Hack: Default -> 1 outlier was removed
// * Legends *
Size : Value of the 'Size' parameter
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
Median : Value separating the higher half of all measurements (50th percentile)
Scaled : Mean(CurrentBenchmark) / Mean(BaselineBenchmark)
ScaledSD : Standard deviation of ratio of distribution of [CurrentBenchmark] and [BaselineBenchmark]
1 ms : 1 Millisecond (0.001 sec)
// ***** BenchmarkRunner: End *****
Run time: 00:41:35 (2495.12 sec), executed benchmarks: 9
// * Artifacts cleanup *
Global total time: 00:41:46 (2506.32 sec), executed benchmarks: 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment