diff --git a/DotNet-Collections-Benchmark.csproj b/DotNet-Collections-Benchmark.csproj index dacc89c..09ed4a8 100644 --- a/DotNet-Collections-Benchmark.csproj +++ b/DotNet-Collections-Benchmark.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/Program.cs b/Program.cs index 54a1c93..36fa22f 100644 --- a/Program.cs +++ b/Program.cs @@ -44,27 +44,28 @@ static async Task VisualizeInitializeBenchmarks(BenchmarkInfo[] benchmarkInfo) Title = null!, //Set per case MainColumn = "Method", GroupByColumns = ["Length", "Sorted"], - PivotProperty = "DataType", + PivotColumn = "DataType", StatisticColumns = null!, //Set per case ColumnsOrder = ["Int32", "String", "StructInts", "ClassInts", "RecordStructInts", "RecordClassInts", "StructStrings", "ClassStrings", "RecordStructStrings", "RecordClassStrings"], SpectrumStatisticColumn = true, HighlightGroups = true, DividerMode = RenderTableDividerMode.SeparateTables, HtmlWrapMode = HtmlDocumentWrapMode.RichDataTables, + Theme = Theme.Light }; options.Title = "Benchmark of Collection Initializing in terms of Execution Time (Mean)"; options.StatisticColumns = ["Mean"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Mean.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Mean.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Mean.png"), options: options); options.Title = "Benchmark of Collection Initializing in terms of Allocation Size"; options.StatisticColumns = ["Allocated"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Allocated.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Allocated.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-Initialize-Allocated.png"), options: options); } @@ -80,7 +81,7 @@ static async Task VisualizeContainsBenchmarks(BenchmarkInfo[] benchmarkInfo) Title = null!, //Set per case MainColumn = "Method", GroupByColumns = ["Existed"], - PivotProperty = "DataType", + PivotColumn = "DataType", StatisticColumns = null!, //Set per case OtherColumnsToSelect = ["Big O", "Length"], ColumnsOrder = ["Int32", "String", "StructInts", "ClassInts", "RecordStructInts", "RecordClassInts", "StructStrings", "ClassStrings", "RecordStructStrings", "RecordClassStrings"], @@ -88,20 +89,21 @@ static async Task VisualizeContainsBenchmarks(BenchmarkInfo[] benchmarkInfo) HighlightGroups = true, DividerMode = RenderTableDividerMode.SeparateTables, HtmlWrapMode = HtmlDocumentWrapMode.RichDataTables, + Theme = Theme.Light }; options.Title = "Benchmark of Collection Searching (Contains method) in terms of Execution Time (Mean)"; options.StatisticColumns = ["Mean"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Mean.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Mean.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Mean.png"), options: options); options.Title = "Benchmark of Collection Searching (Contains method) in terms of Allocation Size"; options.StatisticColumns = ["Allocated"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Allocated.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Allocated.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchContains-Allocated.png"), options: options); } @@ -117,7 +119,7 @@ static async Task VisualizeTryGetValueBenchmarks(BenchmarkInfo[] benchmarkInfo) Title = null!, //Set per case MainColumn = "Method", GroupByColumns = ["Existed"], - PivotProperty = "DataType", + PivotColumn = "DataType", StatisticColumns = null!, //Set per case OtherColumnsToSelect = ["Big O", "Length"], ColumnsOrder = ["Int32", "String", "StructInts", "ClassInts", "RecordStructInts", "RecordClassInts", "StructStrings", "ClassStrings", "RecordStructStrings", "RecordClassStrings"], @@ -125,20 +127,21 @@ static async Task VisualizeTryGetValueBenchmarks(BenchmarkInfo[] benchmarkInfo) HighlightGroups = true, DividerMode = RenderTableDividerMode.SeparateTables, HtmlWrapMode = HtmlDocumentWrapMode.RichDataTables, + Theme = Theme.Light }; options.Title = "Benchmark of Collection Searching (TryGetValue method) in terms of Execution Time (Mean)"; options.StatisticColumns = ["Mean"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Mean.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Mean.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Mean.png"), options: options); options.Title = "Benchmark of Collection Searching (TryGetValue method) in terms of Allocation Size"; options.StatisticColumns = ["Allocated"]; await benchmarkInfo.JoinReportsAndSaveAsHtmlAndImageAsync( htmlPath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Allocated.html"), - imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Allocated.webp"), + imagePath: DirectoryHelper.GetPathRelativeToProjectDirectory("docs\\Benchmark-SearchTryGetValue-Allocated.png"), options: options); } diff --git a/README.md b/README.md index d0a0fc4..8e903ea 100644 --- a/README.md +++ b/README.md @@ -40,38 +40,39 @@ If you find this repository useful and like it, why not give it a star? if not, ### Benchmark of Collection Initializing in terms of Execution Time (Mean) -- Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Mean.html) -- Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Mean.png) +- **Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Mean.html)** +- **Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Mean.png)** ![Benchmark-Initialize-Mean-Preview](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Mean-Preview.png) ### Benchmark of Collection Initializing in terms of Allocation Size -- Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Allocated.html) -- Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Allocated.png) +- **Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Allocated.html)** +- **Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Allocated.png)** ![Benchmark-Initialize-Allocated-Preview](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-Initialize-Allocated-Preview.png) ### Benchmark of Collection Searching (TryGetValue method) in terms of Execution Time (Mean) -- Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Mean.html) -- Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Mean.png) +- **Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Mean.html)** +- **Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Mean.png)** ![Benchmark-SearchTryGetValue-Mean-Preview](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Mean-Preview.png) ### Benchmark of Collection Searching (TryGetValue method) in terms of Allocation Size -- Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Allocated.html) -- Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Allocated.png) +- **Visit [HTML Page](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Allocated.html)** +- **Visit [Full Image](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Allocated.png)** ![Benchmark-SearchTryGetValue-Allocated-Preview](https://mjebrahimi.github.io/DotNet-Collections-Benchmark/Benchmark-SearchTryGetValue-Allocated-Preview.png) ## BenchmarkDotNetVisualizeršŸŒˆ -All the benchmarks are visualized using [BenchmarkDotNetVisualizer](https://github.com/mjebrahimi/BenchmarkDotNetVisualizer). +All the benchmarks are created by [BenchmarkDotNetVisualizer](https://github.com/mjebrahimi/BenchmarkDotNetVisualizer). ## Todo +- [ ] Add .NET 9.0 **OrderedDictionary** to the benchmarks - [ ] Add benchmarks for other operations such as **Add**, **Insert**, **Remove**, and **Update**. ## Useful Resources diff --git a/docs/Benchmark-Initialize-Allocated.html b/docs/Benchmark-Initialize-Allocated.html index 77d1ae3..6186517 100644 --- a/docs/Benchmark-Initialize-Allocated.html +++ b/docs/Benchmark-Initialize-Allocated.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Initializing in terms of Allocation Size + + + - - - - +

Benchmark of Collection Initializing in terms of Allocation Size

 
@@ -49,333 +98,333 @@ 

Comparison: Allocated

Array -10000 -False -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +10000 +False +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB -ImmutableArray -10000 -False -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +Array (Sorted) +10000 +False +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB -Array (Sorted) -10000 -False -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +ImmutableArray +10000 +False +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB ReadOnlyCollection -10000 -False -39.11 KB -78.17 KB -117.25 KB -78.17 KB -117.25 KB -78.17 KB -234.45 KB -78.17 KB -234.45 KB -78.17 KB +10000 +False +39.11 KB +78.17 KB +117.25 KB +78.17 KB +117.25 KB +78.17 KB +234.45 KB +78.17 KB +234.45 KB +78.17 KB List -10000 -False -39.12 KB -78.18 KB -117.25 KB -78.18 KB -117.25 KB -78.18 KB -234.45 KB -78.18 KB -234.45 KB -78.18 KB +10000 +False +39.12 KB +78.18 KB +117.25 KB +78.18 KB +117.25 KB +78.18 KB +234.45 KB +78.18 KB +234.45 KB +78.18 KB List (Sorted) -10000 -False -39.12 KB -78.18 KB -117.25 KB -78.18 KB -117.25 KB -78.18 KB -234.46 KB -78.18 KB -234.46 KB -78.18 KB +10000 +False +39.12 KB +78.18 KB +117.25 KB +78.18 KB +117.25 KB +78.18 KB +234.46 KB +78.18 KB +234.46 KB +78.18 KB ImmutableArray (Sorted) -10000 -False -78.17 KB -156.3 KB -234.45 KB -156.3 KB -234.45 KB -156.3 KB -468.85 KB -156.3 KB -468.85 KB -156.3 KB +10000 +False +78.17 KB +156.3 KB +234.45 KB +156.3 KB +234.45 KB +156.3 KB +468.85 KB +156.3 KB +468.85 KB +156.3 KB HashSet -10000 -False -158.02 KB -197.49 KB -549.46 KB -197.49 KB -236.96 KB -197.49 KB -745.99 KB -197.49 KB -355.36 KB -197.49 KB +10000 +False +158.02 KB +197.49 KB +549.46 KB +197.49 KB +236.96 KB +197.49 KB +745.99 KB +197.49 KB +355.36 KB +197.49 KB Dictionary -10000 -False -197.47 KB -276.41 KB -588.91 KB -276.41 KB -276.41 KB -276.41 KB -824.91 KB -276.41 KB -434.28 KB -276.41 KB +10000 +False +197.47 KB +276.41 KB +588.91 KB +276.41 KB +276.41 KB +276.41 KB +824.91 KB +276.41 KB +434.28 KB +276.41 KB ReadOnlyDictionary -10000 -False -197.51 KB -276.45 KB -588.95 KB -276.45 KB -276.45 KB -276.45 KB -824.95 KB -276.45 KB -434.32 KB -276.45 KB +10000 +False +197.51 KB +276.45 KB +588.95 KB +276.45 KB +276.45 KB +276.45 KB +824.95 KB +276.45 KB +434.32 KB +276.45 KB SortedList -10000 -False -246.45 KB -364.46 KB -716.03 KB -364.46 KB -403.53 KB -364.46 KB -1069.23 KB -364.46 KB -678.61 KB -364.46 KB +10000 +False +246.45 KB +364.46 KB +716.03 KB +364.46 KB +403.53 KB +364.46 KB +1069.23 KB +364.46 KB +678.61 KB +364.46 KB FrozenSet -10000 -False -394.34 KB -945.63 KB -1490.77 KB -748.11 KB -865.77 KB -748.11 KB -1999.95 KB -748.11 KB -1219.54 KB -748.11 KB +10000 +False +394.34 KB +945.63 KB +1490.77 KB +748.11 KB +865.77 KB +748.11 KB +1999.95 KB +748.11 KB +1219.54 KB +748.11 KB SortedSet -10000 -False -429.76 KB -546.95 KB -586.02 KB -546.95 KB -586.02 KB -546.95 KB -859.47 KB -546.95 KB -859.47 KB -546.95 KB +10000 +False +429.76 KB +546.95 KB +586.02 KB +546.95 KB +586.02 KB +546.95 KB +859.47 KB +546.95 KB +859.47 KB +546.95 KB ImmutableList -10000 -False -468.8 KB -468.8 KB -546.92 KB -468.8 KB -546.92 KB -468.8 KB -625.05 KB -468.8 KB -625.05 KB -468.8 KB +10000 +False +468.8 KB +468.8 KB +546.92 KB +468.8 KB +546.92 KB +468.8 KB +625.05 KB +468.8 KB +625.05 KB +468.8 KB LinkedList -10000 -False -468.82 KB -468.82 KB -546.95 KB -468.82 KB -546.95 KB -468.82 KB -625.07 KB -468.82 KB -625.07 KB -468.82 KB +10000 +False +468.82 KB +468.82 KB +546.95 KB +468.82 KB +546.95 KB +468.82 KB +625.07 KB +468.82 KB +625.07 KB +468.82 KB ImmutableSortedSet -10000 -False -507.92 KB -546.99 KB -664.18 KB -546.98 KB -664.18 KB -546.99 KB -859.51 KB -546.99 KB -859.51 KB -546.99 KB +10000 +False +507.92 KB +546.99 KB +664.18 KB +546.98 KB +664.18 KB +546.99 KB +859.51 KB +546.99 KB +859.51 KB +546.99 KB FrozenDictionary -10000 -False -521.73 KB -1044.19 KB -1579.07 KB -914.99 KB -954.07 KB -914.99 KB -2166.84 KB -914.99 KB -1387.48 KB -914.99 KB +10000 +False +521.73 KB +1044.19 KB +1579.07 KB +914.99 KB +954.07 KB +914.99 KB +2166.84 KB +914.99 KB +1387.48 KB +914.99 KB ImmutableHashSet -10000 -False -546.96 KB -546.96 KB -937.58 KB -546.96 KB -625.08 KB -546.96 KB -1093.83 KB -546.96 KB -703.21 KB -546.96 KB +10000 +False +546.96 KB +546.96 KB +937.58 KB +546.96 KB +625.08 KB +546.96 KB +1093.83 KB +546.96 KB +703.21 KB +546.96 KB ImmutableDictionary -10000 -False -547.06 KB -625.19 KB -937.69 KB -625.19 KB -625.19 KB -625.19 KB -1172.08 KB -625.19 KB -781.46 KB -625.19 KB +10000 +False +547.06 KB +625.19 KB +937.69 KB +625.19 KB +625.19 KB +625.19 KB +1172.08 KB +625.19 KB +781.46 KB +625.19 KB SortedDictionary -10000 -False -666.38 KB -823.45 KB -1135.95 KB -823.45 KB -823.45 KB -823.45 KB -1528.21 KB -823.45 KB -1137.59 KB -823.45 KB +10000 +False +666.38 KB +823.45 KB +1135.95 KB +823.45 KB +823.45 KB +823.45 KB +1528.21 KB +823.45 KB +1137.59 KB +823.45 KB ImmutableSortedDictionary -10000 -False -938.21 KB -1172.61 KB -1797.6 KB -1172.6 KB -1797.6 KB -1172.6 KB -2422.64 KB -1172.61 KB -2422.64 KB -1172.61 KB +10000 +False +938.21 KB +1172.61 KB +1797.6 KB +1172.6 KB +1797.6 KB +1172.6 KB +2422.64 KB +1172.61 KB +2422.64 KB +1172.61 KB ImmutableList (Sorted) -10000 -False -976.68 KB -1015.75 KB -1211.07 KB -1015.74 KB -1211.07 KB -1015.74 KB -1484.52 KB -1015.75 KB -1484.52 KB -1015.75 KB +10000 +False +976.68 KB +1015.75 KB +1211.07 KB +1015.74 KB +1211.07 KB +1015.74 KB +1484.52 KB +1015.75 KB +1484.52 KB +1015.75 KB @@ -387,334 +436,334 @@

Comparison: Allocated

-ImmutableArray -10000 -True -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +Array +10000 +True +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB -Array -10000 -True -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +Array (Sorted) +10000 +True +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB -ImmutableArray (Sorted) -10000 -True -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +ImmutableArray +10000 +True +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB -Array (Sorted) -10000 -True -39.09 KB -78.15 KB -117.22 KB -78.15 KB -117.22 KB -78.15 KB -234.42 KB -78.15 KB -234.42 KB -78.15 KB +ImmutableArray (Sorted) +10000 +True +39.09 KB +78.15 KB +117.22 KB +78.15 KB +117.22 KB +78.15 KB +234.42 KB +78.15 KB +234.42 KB +78.15 KB ReadOnlyCollection -10000 -True -39.11 KB -78.17 KB -117.25 KB -78.17 KB -117.25 KB -78.17 KB -234.45 KB -78.17 KB -234.45 KB -78.17 KB +10000 +True +39.11 KB +78.17 KB +117.25 KB +78.17 KB +117.25 KB +78.17 KB +234.45 KB +78.17 KB +234.45 KB +78.17 KB List -10000 -True -39.12 KB -78.18 KB -117.25 KB -78.18 KB -117.25 KB -78.18 KB -234.45 KB -78.18 KB -234.45 KB -78.18 KB +10000 +True +39.12 KB +78.18 KB +117.25 KB +78.18 KB +117.25 KB +78.18 KB +234.45 KB +78.18 KB +234.45 KB +78.18 KB List (Sorted) -10000 -True -39.12 KB -78.18 KB -117.25 KB -78.18 KB -117.25 KB -78.18 KB -234.45 KB -78.18 KB -234.45 KB -78.18 KB +10000 +True +39.12 KB +78.18 KB +117.25 KB +78.18 KB +117.25 KB +78.18 KB +234.45 KB +78.18 KB +234.45 KB +78.18 KB HashSet -10000 -True -158.02 KB -197.49 KB -549.46 KB -197.49 KB -236.96 KB -197.49 KB -745.99 KB -197.49 KB -355.36 KB -197.49 KB +10000 +True +158.02 KB +197.49 KB +549.46 KB +197.49 KB +236.96 KB +197.49 KB +745.99 KB +197.49 KB +355.36 KB +197.49 KB Dictionary -10000 -True -197.47 KB -276.41 KB -588.91 KB -276.41 KB -276.41 KB -276.41 KB -824.91 KB -276.41 KB -434.28 KB -276.41 KB +10000 +True +197.47 KB +276.41 KB +588.91 KB +276.41 KB +276.41 KB +276.41 KB +824.91 KB +276.41 KB +434.28 KB +276.41 KB ReadOnlyDictionary -10000 -True -197.51 KB -276.45 KB -588.95 KB -276.45 KB -276.45 KB -276.45 KB -824.95 KB -276.45 KB -434.32 KB -276.45 KB +10000 +True +197.51 KB +276.45 KB +588.95 KB +276.45 KB +276.45 KB +276.45 KB +824.95 KB +276.45 KB +434.32 KB +276.45 KB SortedList -10000 -True -246.45 KB -364.46 KB -716.03 KB -364.46 KB -403.53 KB -364.46 KB -1069.23 KB -364.46 KB -678.61 KB -364.46 KB +10000 +True +246.45 KB +364.46 KB +716.03 KB +364.46 KB +403.53 KB +364.46 KB +1069.23 KB +364.46 KB +678.61 KB +364.46 KB FrozenSet -10000 -True -394.34 KB -945.63 KB -1490.77 KB -748.11 KB -865.77 KB -748.11 KB -1999.93 KB -748.11 KB -1219.77 KB -748.11 KB +10000 +True +394.34 KB +945.63 KB +1490.77 KB +748.11 KB +865.77 KB +748.11 KB +1999.93 KB +748.11 KB +1219.77 KB +748.11 KB SortedSet -10000 -True -429.76 KB -546.95 KB -586.02 KB -546.95 KB -586.02 KB -546.95 KB -859.47 KB -546.95 KB -859.47 KB -546.95 KB +10000 +True +429.76 KB +546.95 KB +586.02 KB +546.95 KB +586.02 KB +546.95 KB +859.47 KB +546.95 KB +859.47 KB +546.95 KB ImmutableList -10000 -True -468.8 KB -468.8 KB -546.92 KB -468.8 KB -546.92 KB -468.8 KB -625.05 KB -468.8 KB -625.05 KB -468.8 KB +10000 +True +468.8 KB +468.8 KB +546.92 KB +468.8 KB +546.92 KB +468.8 KB +625.05 KB +468.8 KB +625.05 KB +468.8 KB LinkedList -10000 -True -468.82 KB -468.82 KB -546.95 KB -468.82 KB -546.95 KB -468.82 KB -625.07 KB -468.82 KB -625.07 KB -468.82 KB +10000 +True +468.82 KB +468.82 KB +546.95 KB +468.82 KB +546.95 KB +468.82 KB +625.07 KB +468.82 KB +625.07 KB +468.82 KB ImmutableSortedSet -10000 -True -507.92 KB -546.99 KB -664.18 KB -546.98 KB -664.18 KB -546.98 KB -859.51 KB -546.99 KB -859.51 KB -546.99 KB +10000 +True +507.92 KB +546.99 KB +664.18 KB +546.98 KB +664.18 KB +546.98 KB +859.51 KB +546.99 KB +859.51 KB +546.99 KB FrozenDictionary -10000 -True -521.73 KB -1044.19 KB -1579.07 KB -914.99 KB -954.07 KB -914.99 KB -2166.79 KB -914.99 KB -1385.44 KB -914.99 KB +10000 +True +521.73 KB +1044.19 KB +1579.07 KB +914.99 KB +954.07 KB +914.99 KB +2166.79 KB +914.99 KB +1385.44 KB +914.99 KB ImmutableHashSet -10000 -True -546.95 KB -546.96 KB -937.58 KB -546.96 KB -625.08 KB -546.96 KB -1093.83 KB -546.96 KB -703.21 KB -546.96 KB +10000 +True +546.95 KB +546.96 KB +937.58 KB +546.96 KB +625.08 KB +546.96 KB +1093.83 KB +546.96 KB +703.21 KB +546.96 KB ImmutableDictionary -10000 -True -547.06 KB -625.19 KB -937.69 KB -625.19 KB -625.19 KB -625.19 KB -1172.08 KB -625.19 KB -781.46 KB -625.19 KB +10000 +True +547.06 KB +625.19 KB +937.69 KB +625.19 KB +625.19 KB +625.19 KB +1172.08 KB +625.19 KB +781.46 KB +625.19 KB SortedDictionary -10000 -True -666.38 KB -823.45 KB -1135.95 KB -823.45 KB -823.45 KB -823.45 KB -1528.21 KB -823.45 KB -1137.59 KB -823.45 KB +10000 +True +666.38 KB +823.45 KB +1135.95 KB +823.45 KB +823.45 KB +823.45 KB +1528.21 KB +823.45 KB +1137.59 KB +823.45 KB ImmutableSortedDictionary -10000 -True -938.2 KB -1172.61 KB -1797.6 KB -1172.6 KB -1797.6 KB -1172.6 KB -2422.64 KB -1172.61 KB -2422.64 KB -1172.61 KB +10000 +True +938.2 KB +1172.61 KB +1797.6 KB +1172.6 KB +1797.6 KB +1172.6 KB +2422.64 KB +1172.61 KB +2422.64 KB +1172.61 KB ImmutableList (Sorted) -10000 -True -976.68 KB -1015.75 KB -1211.07 KB -1015.74 KB -1211.07 KB -1015.74 KB -1484.52 KB -1015.75 KB -1484.52 KB -1015.75 KB +10000 +True +976.68 KB +1015.75 KB +1211.07 KB +1015.74 KB +1211.07 KB +1015.74 KB +1484.52 KB +1015.75 KB +1484.52 KB +1015.75 KB @@ -727,333 +776,333 @@

Comparison: Allocated

ImmutableArray -1000000 -False -3906.32 KB -7812.54 KB -11718.89 KB -7812.54 KB -11718.88 KB -7812.56 KB -23437.59 KB -7812.54 KB -23437.59 KB -7812.54 KB +1000000 +False +3906.32 KB +7812.54 KB +11718.89 KB +7812.54 KB +11718.88 KB +7812.56 KB +23437.59 KB +7812.54 KB +23437.59 KB +7812.54 KB Array -1000000 -False -3906.32 KB -7812.55 KB -11718.89 KB -7812.56 KB -11718.89 KB -7812.56 KB -23437.59 KB -7812.54 KB -23437.59 KB -7812.54 KB +1000000 +False +3906.32 KB +7812.55 KB +11718.89 KB +7812.56 KB +11718.89 KB +7812.56 KB +23437.59 KB +7812.54 KB +23437.59 KB +7812.54 KB ReadOnlyCollection -1000000 -False -3906.34 KB -7812.93 KB -11718.91 KB -7813.05 KB -11718.91 KB -7813.11 KB -23437.61 KB -7812.57 KB -23437.61 KB -7812.57 KB +1000000 +False +3906.34 KB +7812.93 KB +11718.91 KB +7813.05 KB +11718.91 KB +7813.11 KB +23437.61 KB +7812.57 KB +23437.61 KB +7812.57 KB List -1000000 -False -3906.35 KB -7812.97 KB -11718.92 KB -7813.07 KB -11718.92 KB -7813.1 KB -23437.62 KB -7812.57 KB -23437.62 KB -7812.57 KB +1000000 +False +3906.35 KB +7812.97 KB +11718.92 KB +7813.07 KB +11718.92 KB +7813.1 KB +23437.62 KB +7812.57 KB +23437.62 KB +7812.57 KB Array (Sorted) -1000000 -False -3906.4 KB -7812.91 KB -11718.9 KB -7812.65 KB -11718.9 KB -7812.56 KB -23437.91 KB -7812.91 KB -23437.91 KB -7812.91 KB +1000000 +False +3906.4 KB +7812.91 KB +11718.9 KB +7812.65 KB +11718.9 KB +7812.56 KB +23437.91 KB +7812.91 KB +23437.91 KB +7812.91 KB List (Sorted) -1000000 -False -3906.44 KB -7812.95 KB -11718.93 KB -7812.68 KB -11718.93 KB -7812.59 KB -23437.95 KB -7812.95 KB -23437.95 KB -7812.95 KB +1000000 +False +3906.44 KB +7812.95 KB +11718.93 KB +7812.68 KB +11718.93 KB +7812.59 KB +23437.95 KB +7812.95 KB +23437.95 KB +7812.95 KB ImmutableArray (Sorted) -1000000 -False -7812.77 KB -15625.44 KB -23437.67 KB -15625.18 KB -23437.67 KB -15625.27 KB -46875.44 KB -15625.44 KB -46875.44 KB -15625.44 KB +1000000 +False +7812.77 KB +15625.44 KB +23437.67 KB +15625.18 KB +23437.67 KB +15625.27 KB +46875.44 KB +15625.44 KB +46875.44 KB +15625.44 KB HashSet -1000000 -False -18168.91 KB -22710.99 KB -58517.29 KB -22712.03 KB -27251.66 KB -22712.03 KB -79957.29 KB -22708.95 KB -40876.04 KB -22708.95 KB +1000000 +False +18168.91 KB +22710.99 KB +58517.29 KB +22712.03 KB +27251.66 KB +22712.03 KB +79957.29 KB +22708.95 KB +40876.04 KB +22708.95 KB Dictionary -1000000 -False -22709.02 KB -31792.54 KB -63058.68 KB -31792.52 KB -31792.5 KB -31792.49 KB -89040.86 KB -31792.43 KB -49959.52 KB -31792.37 KB +1000000 +False +22709.02 KB +31792.54 KB +63058.68 KB +31792.52 KB +31792.5 KB +31792.49 KB +89040.86 KB +31792.43 KB +49959.52 KB +31792.37 KB ReadOnlyDictionary -1000000 -False -22709.06 KB -31792.55 KB -63058.09 KB -31792.58 KB -31792.54 KB -31792.56 KB -89039.28 KB -31792.41 KB -49959.55 KB -31792.47 KB +1000000 +False +22709.06 KB +31792.55 KB +63058.09 KB +31792.58 KB +31792.54 KB +31792.56 KB +89039.28 KB +31792.41 KB +49959.55 KB +31792.47 KB SortedList -1000000 -False -27591.96 KB -40590.23 KB -75753.25 KB -40585.89 KB -44488.06 KB -40585.89 KB -113453.33 KB -40581.96 KB -74373.95 KB -40581.68 KB +1000000 +False +27591.96 KB +40590.23 KB +75753.25 KB +40585.89 KB +44488.06 KB +40585.89 KB +113453.33 KB +40581.96 KB +74373.95 KB +40581.68 KB SortedSet -1000000 -False -42969.5 KB -54687.96 KB -58594.55 KB -54687.98 KB -58594.55 KB -54687.95 KB -85937.96 KB -54687.96 KB -85937.68 KB -54687.96 KB +1000000 +False +42969.5 KB +54687.96 KB +58594.55 KB +54687.98 KB +58594.55 KB +54687.95 KB +85937.96 KB +54687.96 KB +85937.68 KB +54687.96 KB FrozenSet -1000000 -False -44677.32 KB -105720.5 KB -157880.99 KB -83013.53 KB -95365.64 KB -83011.54 KB -210573.43 KB -83011.25 KB -132428.42 KB -83011.25 KB +1000000 +False +44677.32 KB +105720.5 KB +157880.99 KB +83013.53 KB +95365.64 KB +83011.54 KB +210573.43 KB +83011.25 KB +132428.42 KB +83011.25 KB ImmutableList -1000000 -False -46875.68 KB -46875.28 KB -54688.2 KB -46875.37 KB -54688.2 KB -46875.37 KB -62500.18 KB -46875.13 KB -62500.23 KB -46875.13 KB +1000000 +False +46875.68 KB +46875.28 KB +54688.2 KB +46875.37 KB +54688.2 KB +46875.37 KB +62500.18 KB +46875.13 KB +62500.23 KB +46875.13 KB LinkedList -1000000 -False -46875.79 KB -46875.44 KB -54688.35 KB -46875.5 KB -54688.28 KB -46875.44 KB -62500.32 KB -46875.23 KB -62500.26 KB -46875.19 KB +1000000 +False +46875.79 KB +46875.44 KB +54688.35 KB +46875.5 KB +54688.28 KB +46875.44 KB +62500.32 KB +46875.23 KB +62500.26 KB +46875.19 KB ImmutableSortedSet -1000000 -False -50783.16 KB -54687.72 KB -66406.88 KB -54688.02 KB -66406.89 KB -54688.03 KB -85938 KB -54688 KB -85938 KB -54688 KB +1000000 +False +50783.16 KB +54687.72 KB +66406.88 KB +54688.02 KB +66406.89 KB +54688.03 KB +85938 KB +54688 KB +85938 KB +54688 KB ImmutableHashSet -1000000 -False -54691.8 KB -54693.22 KB -93794.8 KB -54699.92 KB -62507.03 KB -54693.65 KB -109426.2 KB -54693.13 KB -70321.09 KB -54693.03 KB +1000000 +False +54691.8 KB +54693.22 KB +93794.8 KB +54699.92 KB +62507.03 KB +54693.65 KB +109426.2 KB +54693.13 KB +70321.09 KB +54693.03 KB ImmutableDictionary -1000000 -False -54698.62 KB -62510.23 KB -93779.76 KB -62508.02 KB -62513.92 KB -62512.82 KB -117223.37 KB -62506.59 KB -78133.21 KB -62506.65 KB +1000000 +False +54698.62 KB +62510.23 KB +93779.76 KB +62508.02 KB +62513.92 KB +62512.82 KB +117223.37 KB +62506.59 KB +78133.21 KB +62506.65 KB FrozenDictionary -1000000 -False -58008.48 KB -116757.2 KB -167306.29 KB -100884.11 KB -104790.37 KB -100883.94 KB -228443.2 KB -100884.14 KB -150301.13 KB -100884 KB +1000000 +False +58008.48 KB +116757.2 KB +167306.29 KB +100884.11 KB +104790.37 KB +100883.94 KB +228443.2 KB +100884.14 KB +150301.13 KB +100884 KB SortedDictionary -1000000 -False -69596.26 KB -86480.41 KB -117746.27 KB -86492.76 KB -86481.09 KB -86481.55 KB -159351.57 KB -86480.41 KB -120272.13 KB -86480.13 KB +1000000 +False +69596.26 KB +86480.41 KB +117746.27 KB +86492.76 KB +86481.09 KB +86481.55 KB +159351.57 KB +86480.41 KB +120272.13 KB +86480.13 KB ImmutableSortedDictionary -1000000 -False -93757.37 KB -117189.05 KB -179626.93 KB -117193.05 KB -179629.06 KB -117195.7 KB -242110.66 KB -117188.41 KB -242110.66 KB -117188.7 KB +1000000 +False +93757.37 KB +117189.05 KB +179626.93 KB +117193.05 KB +179629.06 KB +117195.7 KB +242110.66 KB +117188.41 KB +242110.66 KB +117188.7 KB ImmutableList (Sorted) -1000000 -False -97657.35 KB -101563.09 KB -121094.77 KB -101563.36 KB -121094.77 KB -101563.36 KB -148437.73 KB -101563.01 KB -148437.68 KB -101562.73 KB +1000000 +False +97657.35 KB +101563.09 KB +121094.77 KB +101563.36 KB +121094.77 KB +101563.36 KB +148437.73 KB +101563.01 KB +148437.68 KB +101562.73 KB @@ -1065,368 +1114,407 @@

Comparison: Allocated

-ImmutableArray -1000000 -True -3906.32 KB -7812.54 KB -11718.88 KB -7812.58 KB -11718.89 KB -7812.58 KB -23437.6 KB -7812.54 KB -23437.6 KB -7812.54 KB +Array +1000000 +True +3906.32 KB +7812.54 KB +11718.88 KB +7812.58 KB +11718.89 KB +7812.58 KB +23437.6 KB +7812.54 KB +23437.6 KB +7812.54 KB -Array -1000000 -True -3906.32 KB -7812.54 KB -11718.88 KB -7812.58 KB -11718.89 KB -7812.58 KB -23437.6 KB -7812.54 KB -23437.6 KB -7812.54 KB +ImmutableArray +1000000 +True +3906.32 KB +7812.54 KB +11718.88 KB +7812.58 KB +11718.89 KB +7812.58 KB +23437.6 KB +7812.54 KB +23437.6 KB +7812.54 KB ReadOnlyCollection -1000000 -True -3906.34 KB -7813.17 KB -11718.91 KB -7813.23 KB -11718.91 KB -7813.23 KB -23437.62 KB -7812.57 KB -23437.62 KB -7812.57 KB +1000000 +True +3906.34 KB +7813.17 KB +11718.91 KB +7813.23 KB +11718.91 KB +7813.23 KB +23437.62 KB +7812.57 KB +23437.62 KB +7812.57 KB List -1000000 -True -3906.35 KB -7813.17 KB -11718.92 KB -7813.24 KB -11718.92 KB -7813.24 KB -23437.63 KB -7812.57 KB -23437.63 KB -7812.57 KB +1000000 +True +3906.35 KB +7813.17 KB +11718.92 KB +7813.24 KB +11718.92 KB +7813.24 KB +23437.63 KB +7812.57 KB +23437.63 KB +7812.57 KB ImmutableArray (Sorted) -1000000 -True -3906.4 KB -7812.62 KB -11718.9 KB -7812.59 KB -11718.9 KB -7812.58 KB -23437.62 KB -7812.62 KB -23437.62 KB -7812.65 KB +1000000 +True +3906.4 KB +7812.62 KB +11718.9 KB +7812.59 KB +11718.9 KB +7812.58 KB +23437.62 KB +7812.62 KB +23437.62 KB +7812.65 KB Array (Sorted) -1000000 -True -3906.4 KB -7812.91 KB -11718.9 KB -7812.66 KB -11718.9 KB -7812.66 KB -23437.91 KB -7812.91 KB -23437.91 KB -7812.91 KB +1000000 +True +3906.4 KB +7812.91 KB +11718.9 KB +7812.66 KB +11718.9 KB +7812.66 KB +23437.91 KB +7812.91 KB +23437.91 KB +7812.91 KB List (Sorted) -1000000 -True -3906.43 KB -7812.66 KB -11718.93 KB -7812.69 KB -11718.93 KB -7812.67 KB -23437.95 KB -7812.95 KB -23437.95 KB -7812.95 KB +1000000 +True +3906.43 KB +7812.66 KB +11718.93 KB +7812.69 KB +11718.93 KB +7812.67 KB +23437.95 KB +7812.95 KB +23437.95 KB +7812.95 KB HashSet -1000000 -True -18169.71 KB -22711.04 KB -58516.56 KB -22711.04 KB -27251.66 KB -22711.04 KB -79955.34 KB -22709 KB -40875.99 KB -22709 KB +1000000 +True +18169.71 KB +22711.04 KB +58516.56 KB +22711.04 KB +27251.66 KB +22711.04 KB +79955.34 KB +22709 KB +40875.99 KB +22709 KB Dictionary -1000000 -True -22709.02 KB -31792.56 KB -63058.48 KB -31792.49 KB -31792.5 KB -31792.55 KB -89039.55 KB -31792.48 KB -49959.53 KB -31792.48 KB +1000000 +True +22709.02 KB +31792.56 KB +63058.48 KB +31792.49 KB +31792.5 KB +31792.55 KB +89039.55 KB +31792.48 KB +49959.53 KB +31792.48 KB ReadOnlyDictionary -1000000 -True -22709.06 KB -31792.6 KB -63059.83 KB -31792.59 KB -31792.54 KB -31792.59 KB -89040.11 KB -31792.52 KB -49959.57 KB -31792.52 KB +1000000 +True +22709.06 KB +31792.6 KB +63059.83 KB +31792.59 KB +31792.54 KB +31792.59 KB +89040.11 KB +31792.52 KB +49959.57 KB +31792.52 KB SortedList -1000000 -True -27591.97 KB -40590.23 KB -75753.15 KB -40585.89 KB -44487.96 KB -40585.89 KB -113455.11 KB -40581.96 KB -74373.95 KB -40581.96 KB +1000000 +True +27591.97 KB +40590.23 KB +75753.15 KB +40585.89 KB +44487.96 KB +40585.89 KB +113455.11 KB +40581.96 KB +74373.95 KB +40581.96 KB SortedSet -1000000 -True -42969.5 KB -54687.96 KB -58594.55 KB -54690.08 KB -58594.55 KB -54690.08 KB -85937.68 KB -54687.96 KB -85937.96 KB -54687.96 KB +1000000 +True +42969.5 KB +54687.96 KB +58594.55 KB +54690.08 KB +58594.55 KB +54690.08 KB +85937.68 KB +54687.96 KB +85937.96 KB +54687.96 KB FrozenSet -1000000 -True -44677.28 KB -105720.5 KB -157881.09 KB -83011.55 KB -95365.64 KB -83011.55 KB -210569.13 KB -83011.61 KB -132428.59 KB -83011.61 KB +1000000 +True +44677.28 KB +105720.5 KB +157881.09 KB +83011.55 KB +95365.64 KB +83011.55 KB +210569.13 KB +83011.61 KB +132428.59 KB +83011.61 KB ImmutableList -1000000 -True -46875.67 KB -46875.35 KB -54688.21 KB -46875.36 KB -54688.21 KB -46875.41 KB -62500.24 KB -46875.14 KB -62500.24 KB -46875.1 KB +1000000 +True +46875.67 KB +46875.35 KB +54688.21 KB +46875.36 KB +54688.21 KB +46875.41 KB +62500.24 KB +46875.14 KB +62500.24 KB +46875.1 KB LinkedList -1000000 -True -46875.8 KB -46875.43 KB -54688.34 KB -46875.48 KB -54688.35 KB -46875.5 KB -62500.32 KB -46875.22 KB -62500.31 KB -46875.22 KB +1000000 +True +46875.8 KB +46875.43 KB +54688.34 KB +46875.48 KB +54688.35 KB +46875.5 KB +62500.32 KB +46875.22 KB +62500.31 KB +46875.22 KB ImmutableSortedSet -1000000 -True -50781.94 KB -54687.72 KB -66407.01 KB -54687.97 KB -66407 KB -54688.15 KB -85937.72 KB -54688 KB -85938 KB -54688 KB +1000000 +True +50781.94 KB +54687.72 KB +66407.01 KB +54687.97 KB +66407 KB +54688.15 KB +85937.72 KB +54688 KB +85938 KB +54688 KB ImmutableDictionary -1000000 -True -54688.41 KB -62507.51 KB -93779.72 KB -62507.74 KB -62507.17 KB -62511.77 KB -117220.78 KB -62508.29 KB -78133.12 KB -62507.52 KB +1000000 +True +54688.41 KB +62507.51 KB +93779.72 KB +62507.74 KB +62507.17 KB +62511.77 KB +117220.78 KB +62508.29 KB +78133.12 KB +62507.52 KB ImmutableHashSet -1000000 -True -54689.05 KB -54692.52 KB -93801.93 KB -54700.17 KB -62514.63 KB -54695.41 KB -109421.66 KB -54693.31 KB -70318.62 KB -54693.17 KB +1000000 +True +54689.05 KB +54692.52 KB +93801.93 KB +54700.17 KB +62514.63 KB +54695.41 KB +109421.66 KB +54693.31 KB +70318.62 KB +54693.17 KB FrozenDictionary -1000000 -True -58008.48 KB -116757.2 KB -167306.32 KB -100884.43 KB -104790.37 KB -100884.43 KB -228444.45 KB -100884.17 KB -150301.16 KB -100884.17 KB +1000000 +True +58008.48 KB +116757.2 KB +167306.32 KB +100884.43 KB +104790.37 KB +100884.43 KB +228444.45 KB +100884.17 KB +150301.16 KB +100884.17 KB SortedDictionary -1000000 -True -69585.11 KB -86480.08 KB -117746.1 KB -86485.45 KB -86480.75 KB -86480.81 KB -159352.07 KB -86480.13 KB -120272.13 KB -86480.41 KB +1000000 +True +69585.11 KB +86480.08 KB +117746.1 KB +86485.45 KB +86480.75 KB +86480.81 KB +159352.07 KB +86480.13 KB +120272.13 KB +86480.41 KB ImmutableSortedDictionary -1000000 -True -93751.88 KB -117188.78 KB -179627.3 KB -117195.74 KB -179627.27 KB -117188.76 KB -242110.38 KB -117188.41 KB -242110.66 KB -117188.41 KB +1000000 +True +93751.88 KB +117188.78 KB +179627.3 KB +117195.74 KB +179627.27 KB +117188.76 KB +242110.38 KB +117188.41 KB +242110.66 KB +117188.41 KB ImmutableList (Sorted) -1000000 -True -97657.34 KB -101563.08 KB -121094.81 KB -101563.06 KB -121094.82 KB -101563.34 KB -148438.01 KB -101563.01 KB -148438.01 KB -101563.01 KB +1000000 +True +97657.34 KB +101563.08 KB +121094.81 KB +101563.06 KB +121094.82 KB +101563.34 KB +148438.01 KB +101563.01 KB +148438.01 KB +101563.01 KB - + + + - \ No newline at end of file diff --git a/docs/Benchmark-Initialize-Allocated.png b/docs/Benchmark-Initialize-Allocated.png index 7d06a52..17b4547 100644 Binary files a/docs/Benchmark-Initialize-Allocated.png and b/docs/Benchmark-Initialize-Allocated.png differ diff --git a/docs/Benchmark-Initialize-Allocated.webp b/docs/Benchmark-Initialize-Allocated.webp index 70b8965..04838aa 100644 Binary files a/docs/Benchmark-Initialize-Allocated.webp and b/docs/Benchmark-Initialize-Allocated.webp differ diff --git a/docs/Benchmark-Initialize-Mean.html b/docs/Benchmark-Initialize-Mean.html index b114014..ed1e390 100644 --- a/docs/Benchmark-Initialize-Mean.html +++ b/docs/Benchmark-Initialize-Mean.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Initializing in terms of Execution Time (Mean) + + + - - - - +

Benchmark of Collection Initializing in terms of Execution Time (Mean)

 
@@ -49,333 +98,333 @@ 

Comparison: Mean

Array -10000 -False -2.020 Ī¼s -3.082 Ī¼s -49.54 Ī¼s -3.529 Ī¼s -48.85 Ī¼s -3.285 Ī¼s -111.9 Ī¼s -3.454 Ī¼s -109.1 Ī¼s -3.349 Ī¼s +10000 +False +2.020 Ī¼s +3.082 Ī¼s +49.54 Ī¼s +3.529 Ī¼s +48.85 Ī¼s +3.285 Ī¼s +111.9 Ī¼s +3.454 Ī¼s +109.1 Ī¼s +3.349 Ī¼s ReadOnlyCollection -10000 -False -2.065 Ī¼s -3.264 Ī¼s -52.25 Ī¼s -3.492 Ī¼s -49.46 Ī¼s -3.233 Ī¼s -110.8 Ī¼s -3.660 Ī¼s -109.8 Ī¼s -3.355 Ī¼s +10000 +False +2.065 Ī¼s +3.264 Ī¼s +52.25 Ī¼s +3.492 Ī¼s +49.46 Ī¼s +3.233 Ī¼s +110.8 Ī¼s +3.660 Ī¼s +109.8 Ī¼s +3.355 Ī¼s ImmutableArray -10000 -False -2.125 Ī¼s -3.509 Ī¼s -49.57 Ī¼s -3.551 Ī¼s -49.25 Ī¼s -3.366 Ī¼s -107.2 Ī¼s -3.346 Ī¼s -111.2 Ī¼s -3.350 Ī¼s +10000 +False +2.125 Ī¼s +3.509 Ī¼s +49.57 Ī¼s +3.551 Ī¼s +49.25 Ī¼s +3.366 Ī¼s +107.2 Ī¼s +3.346 Ī¼s +111.2 Ī¼s +3.350 Ī¼s List -10000 -False -2.247 Ī¼s -3.441 Ī¼s -49.78 Ī¼s -3.688 Ī¼s -48.78 Ī¼s -3.922 Ī¼s -109.9 Ī¼s -3.129 Ī¼s -111.2 Ī¼s -3.877 Ī¼s +10000 +False +2.247 Ī¼s +3.441 Ī¼s +49.78 Ī¼s +3.688 Ī¼s +48.78 Ī¼s +3.922 Ī¼s +109.9 Ī¼s +3.129 Ī¼s +111.2 Ī¼s +3.877 Ī¼s LinkedList -10000 -False -114.877 Ī¼s -132.915 Ī¼s -127.29 Ī¼s -129.972 Ī¼s -122.81 Ī¼s -135.016 Ī¼s -158.3 Ī¼s -133.071 Ī¼s -157.4 Ī¼s -132.172 Ī¼s +10000 +False +114.877 Ī¼s +132.915 Ī¼s +127.29 Ī¼s +129.972 Ī¼s +122.81 Ī¼s +135.016 Ī¼s +158.3 Ī¼s +133.071 Ī¼s +157.4 Ī¼s +132.172 Ī¼s ImmutableList -10000 -False -116.774 Ī¼s -168.067 Ī¼s -122.48 Ī¼s -170.240 Ī¼s -122.80 Ī¼s -167.254 Ī¼s -212.7 Ī¼s -170.977 Ī¼s -210.7 Ī¼s -171.943 Ī¼s +10000 +False +116.774 Ī¼s +168.067 Ī¼s +122.48 Ī¼s +170.240 Ī¼s +122.80 Ī¼s +167.254 Ī¼s +212.7 Ī¼s +170.977 Ī¼s +210.7 Ī¼s +171.943 Ī¼s Dictionary -10000 -False -140.964 Ī¼s -265.932 Ī¼s -399.97 Ī¼s -255.905 Ī¼s -280.11 Ī¼s -273.141 Ī¼s -1,023.8 Ī¼s -521.498 Ī¼s -638.9 Ī¼s -527.394 Ī¼s +10000 +False +140.964 Ī¼s +265.932 Ī¼s +399.97 Ī¼s +255.905 Ī¼s +280.11 Ī¼s +273.141 Ī¼s +1,023.8 Ī¼s +521.498 Ī¼s +638.9 Ī¼s +527.394 Ī¼s ReadOnlyDictionary -10000 -False -143.362 Ī¼s -274.805 Ī¼s -404.26 Ī¼s -256.470 Ī¼s -277.06 Ī¼s -284.909 Ī¼s -1,018.5 Ī¼s -519.752 Ī¼s -674.7 Ī¼s -566.916 Ī¼s +10000 +False +143.362 Ī¼s +274.805 Ī¼s +404.26 Ī¼s +256.470 Ī¼s +277.06 Ī¼s +284.909 Ī¼s +1,018.5 Ī¼s +519.752 Ī¼s +674.7 Ī¼s +566.916 Ī¼s HashSet -10000 -False -148.196 Ī¼s -241.259 Ī¼s -372.90 Ī¼s -226.485 Ī¼s -197.72 Ī¼s -248.790 Ī¼s -948.9 Ī¼s -498.867 Ī¼s -598.2 Ī¼s -493.711 Ī¼s +10000 +False +148.196 Ī¼s +241.259 Ī¼s +372.90 Ī¼s +226.485 Ī¼s +197.72 Ī¼s +248.790 Ī¼s +948.9 Ī¼s +498.867 Ī¼s +598.2 Ī¼s +493.711 Ī¼s Array (Sorted) -10000 -False -324.932 Ī¼s -5,156.343 Ī¼s -478.77 Ī¼s -747.774 Ī¼s -487.19 Ī¼s -781.367 Ī¼s -5,916.1 Ī¼s -5,754.522 Ī¼s -5,979.4 Ī¼s -5,710.599 Ī¼s +10000 +False +324.932 Ī¼s +5,156.343 Ī¼s +478.77 Ī¼s +747.774 Ī¼s +487.19 Ī¼s +781.367 Ī¼s +5,916.1 Ī¼s +5,754.522 Ī¼s +5,979.4 Ī¼s +5,710.599 Ī¼s List (Sorted) -10000 -False -326.058 Ī¼s -5,106.965 Ī¼s -480.98 Ī¼s -754.041 Ī¼s -503.64 Ī¼s -790.429 Ī¼s -6,068.8 Ī¼s -5,844.496 Ī¼s -5,895.5 Ī¼s -5,731.839 Ī¼s +10000 +False +326.058 Ī¼s +5,106.965 Ī¼s +480.98 Ī¼s +754.041 Ī¼s +503.64 Ī¼s +790.429 Ī¼s +6,068.8 Ī¼s +5,844.496 Ī¼s +5,895.5 Ī¼s +5,731.839 Ī¼s ImmutableArray (Sorted) -10000 -False -326.504 Ī¼s -5,192.886 Ī¼s -495.91 Ī¼s -747.096 Ī¼s -489.48 Ī¼s -747.232 Ī¼s -6,239.0 Ī¼s -5,723.010 Ī¼s -6,083.9 Ī¼s -5,707.202 Ī¼s +10000 +False +326.504 Ī¼s +5,192.886 Ī¼s +495.91 Ī¼s +747.096 Ī¼s +489.48 Ī¼s +747.232 Ī¼s +6,239.0 Ī¼s +5,723.010 Ī¼s +6,083.9 Ī¼s +5,707.202 Ī¼s FrozenSet -10000 -False -407.216 Ī¼s -1,432.992 Ī¼s -920.72 Ī¼s -643.034 Ī¼s -605.76 Ī¼s -689.554 Ī¼s -2,043.1 Ī¼s -1,155.110 Ī¼s -1,231.4 Ī¼s -1,205.622 Ī¼s +10000 +False +407.216 Ī¼s +1,432.992 Ī¼s +920.72 Ī¼s +643.034 Ī¼s +605.76 Ī¼s +689.554 Ī¼s +2,043.1 Ī¼s +1,155.110 Ī¼s +1,231.4 Ī¼s +1,205.622 Ī¼s SortedSet -10000 -False -414.855 Ī¼s -5,684.240 Ī¼s -607.60 Ī¼s -885.444 Ī¼s -615.15 Ī¼s -855.998 Ī¼s -6,563.2 Ī¼s -6,252.427 Ī¼s -6,691.2 Ī¼s -6,403.660 Ī¼s +10000 +False +414.855 Ī¼s +5,684.240 Ī¼s +607.60 Ī¼s +885.444 Ī¼s +615.15 Ī¼s +855.998 Ī¼s +6,563.2 Ī¼s +6,252.427 Ī¼s +6,691.2 Ī¼s +6,403.660 Ī¼s FrozenDictionary -10000 -False -444.312 Ī¼s -1,328.777 Ī¼s -874.80 Ī¼s -756.472 Ī¼s -621.41 Ī¼s -800.424 Ī¼s -2,052.6 Ī¼s -1,242.227 Ī¼s -1,257.2 Ī¼s -1,323.209 Ī¼s +10000 +False +444.312 Ī¼s +1,328.777 Ī¼s +874.80 Ī¼s +756.472 Ī¼s +621.41 Ī¼s +800.424 Ī¼s +2,052.6 Ī¼s +1,242.227 Ī¼s +1,257.2 Ī¼s +1,323.209 Ī¼s ImmutableSortedSet -10000 -False -456.041 Ī¼s -5,760.166 Ī¼s -650.17 Ī¼s -971.541 Ī¼s -652.53 Ī¼s -1,024.883 Ī¼s -7,287.7 Ī¼s -6,342.280 Ī¼s -6,563.3 Ī¼s -6,496.165 Ī¼s +10000 +False +456.041 Ī¼s +5,760.166 Ī¼s +650.17 Ī¼s +971.541 Ī¼s +652.53 Ī¼s +1,024.883 Ī¼s +7,287.7 Ī¼s +6,342.280 Ī¼s +6,563.3 Ī¼s +6,496.165 Ī¼s SortedList -10000 -False -628.833 Ī¼s -6,016.551 Ī¼s -974.07 Ī¼s -1,190.681 Ī¼s -956.76 Ī¼s -1,214.383 Ī¼s -7,631.9 Ī¼s -6,857.941 Ī¼s -7,527.8 Ī¼s -7,006.464 Ī¼s +10000 +False +628.833 Ī¼s +6,016.551 Ī¼s +974.07 Ī¼s +1,190.681 Ī¼s +956.76 Ī¼s +1,214.383 Ī¼s +7,631.9 Ī¼s +6,857.941 Ī¼s +7,527.8 Ī¼s +7,006.464 Ī¼s ImmutableList (Sorted) -10000 -False -654.541 Ī¼s -5,806.514 Ī¼s -869.22 Ī¼s -1,403.213 Ī¼s -853.70 Ī¼s -1,388.404 Ī¼s -6,757.5 Ī¼s -6,387.129 Ī¼s -6,701.1 Ī¼s -6,517.718 Ī¼s +10000 +False +654.541 Ī¼s +5,806.514 Ī¼s +869.22 Ī¼s +1,403.213 Ī¼s +853.70 Ī¼s +1,388.404 Ī¼s +6,757.5 Ī¼s +6,387.129 Ī¼s +6,701.1 Ī¼s +6,517.718 Ī¼s SortedDictionary -10000 -False -1,289.650 Ī¼s -6,019.642 Ī¼s -1,629.18 Ī¼s -2,217.730 Ī¼s -1,526.66 Ī¼s -2,270.468 Ī¼s -6,509.8 Ī¼s -6,724.190 Ī¼s -6,330.0 Ī¼s -6,712.728 Ī¼s +10000 +False +1,289.650 Ī¼s +6,019.642 Ī¼s +1,629.18 Ī¼s +2,217.730 Ī¼s +1,526.66 Ī¼s +2,270.468 Ī¼s +6,509.8 Ī¼s +6,724.190 Ī¼s +6,330.0 Ī¼s +6,712.728 Ī¼s ImmutableSortedDictionary -10000 -False -1,953.540 Ī¼s -11,013.998 Ī¼s -2,547.80 Ī¼s -3,654.423 Ī¼s -2,613.99 Ī¼s -3,719.728 Ī¼s -11,453.6 Ī¼s -11,775.346 Ī¼s -11,672.2 Ī¼s -11,810.306 Ī¼s +10000 +False +1,953.540 Ī¼s +11,013.998 Ī¼s +2,547.80 Ī¼s +3,654.423 Ī¼s +2,613.99 Ī¼s +3,719.728 Ī¼s +11,453.6 Ī¼s +11,775.346 Ī¼s +11,672.2 Ī¼s +11,810.306 Ī¼s ImmutableHashSet -10000 -False -1,979.512 Ī¼s -2,544.854 Ī¼s -2,490.51 Ī¼s -2,738.551 Ī¼s -2,263.04 Ī¼s -2,593.169 Ī¼s -3,093.5 Ī¼s -2,784.962 Ī¼s -2,697.5 Ī¼s -2,805.189 Ī¼s +10000 +False +1,979.512 Ī¼s +2,544.854 Ī¼s +2,490.51 Ī¼s +2,738.551 Ī¼s +2,263.04 Ī¼s +2,593.169 Ī¼s +3,093.5 Ī¼s +2,784.962 Ī¼s +2,697.5 Ī¼s +2,805.189 Ī¼s ImmutableDictionary -10000 -False -2,228.753 Ī¼s -2,632.661 Ī¼s -2,677.68 Ī¼s -2,612.836 Ī¼s -2,376.88 Ī¼s -2,650.795 Ī¼s -3,957.3 Ī¼s -3,038.927 Ī¼s -2,891.3 Ī¼s -2,898.711 Ī¼s +10000 +False +2,228.753 Ī¼s +2,632.661 Ī¼s +2,677.68 Ī¼s +2,612.836 Ī¼s +2,376.88 Ī¼s +2,650.795 Ī¼s +3,957.3 Ī¼s +3,038.927 Ī¼s +2,891.3 Ī¼s +2,898.711 Ī¼s @@ -388,333 +437,333 @@

Comparison: Mean

Array -10000 -True -1.849 Ī¼s -3.384 Ī¼s -49.98 Ī¼s -4.005 Ī¼s -50.55 Ī¼s -3.187 Ī¼s -110.6 Ī¼s -3.588 Ī¼s -109.4 Ī¼s -3.254 Ī¼s +10000 +True +1.849 Ī¼s +3.384 Ī¼s +49.98 Ī¼s +4.005 Ī¼s +50.55 Ī¼s +3.187 Ī¼s +110.6 Ī¼s +3.588 Ī¼s +109.4 Ī¼s +3.254 Ī¼s ReadOnlyCollection -10000 -True -1.950 Ī¼s -3.469 Ī¼s -49.92 Ī¼s -3.607 Ī¼s -48.99 Ī¼s -3.843 Ī¼s -110.3 Ī¼s -3.778 Ī¼s -110.5 Ī¼s -3.536 Ī¼s +10000 +True +1.950 Ī¼s +3.469 Ī¼s +49.92 Ī¼s +3.607 Ī¼s +48.99 Ī¼s +3.843 Ī¼s +110.3 Ī¼s +3.778 Ī¼s +110.5 Ī¼s +3.536 Ī¼s ImmutableArray -10000 -True -2.096 Ī¼s -3.508 Ī¼s -49.59 Ī¼s -3.451 Ī¼s -49.22 Ī¼s -3.331 Ī¼s -108.4 Ī¼s -3.579 Ī¼s -108.5 Ī¼s -2.981 Ī¼s +10000 +True +2.096 Ī¼s +3.508 Ī¼s +49.59 Ī¼s +3.451 Ī¼s +49.22 Ī¼s +3.331 Ī¼s +108.4 Ī¼s +3.579 Ī¼s +108.5 Ī¼s +2.981 Ī¼s List -10000 -True -2.301 Ī¼s -3.390 Ī¼s -48.99 Ī¼s -3.547 Ī¼s -49.33 Ī¼s -4.048 Ī¼s -110.0 Ī¼s -2.976 Ī¼s -111.0 Ī¼s -3.345 Ī¼s +10000 +True +2.301 Ī¼s +3.390 Ī¼s +48.99 Ī¼s +3.547 Ī¼s +49.33 Ī¼s +4.048 Ī¼s +110.0 Ī¼s +2.976 Ī¼s +111.0 Ī¼s +3.345 Ī¼s ImmutableArray (Sorted) -10000 -True -8.295 Ī¼s -434.603 Ī¼s -61.10 Ī¼s -43.909 Ī¼s -59.56 Ī¼s -42.374 Ī¼s -552.4 Ī¼s -526.995 Ī¼s -558.7 Ī¼s -507.635 Ī¼s +10000 +True +8.295 Ī¼s +434.603 Ī¼s +61.10 Ī¼s +43.909 Ī¼s +59.56 Ī¼s +42.374 Ī¼s +552.4 Ī¼s +526.995 Ī¼s +558.7 Ī¼s +507.635 Ī¼s Array (Sorted) -10000 -True -40.223 Ī¼s -3,506.397 Ī¼s -141.70 Ī¼s -272.357 Ī¼s -142.19 Ī¼s -275.517 Ī¼s -3,726.6 Ī¼s -3,855.092 Ī¼s -3,723.7 Ī¼s -4,078.451 Ī¼s +10000 +True +40.223 Ī¼s +3,506.397 Ī¼s +141.70 Ī¼s +272.357 Ī¼s +142.19 Ī¼s +275.517 Ī¼s +3,726.6 Ī¼s +3,855.092 Ī¼s +3,723.7 Ī¼s +4,078.451 Ī¼s List (Sorted) -10000 -True -40.531 Ī¼s -3,529.088 Ī¼s -142.81 Ī¼s -258.926 Ī¼s -142.27 Ī¼s -271.843 Ī¼s -3,702.6 Ī¼s -3,806.999 Ī¼s -3,816.7 Ī¼s -3,899.622 Ī¼s +10000 +True +40.531 Ī¼s +3,529.088 Ī¼s +142.81 Ī¼s +258.926 Ī¼s +142.27 Ī¼s +271.843 Ī¼s +3,702.6 Ī¼s +3,806.999 Ī¼s +3,816.7 Ī¼s +3,899.622 Ī¼s ImmutableList -10000 -True -116.066 Ī¼s -175.379 Ī¼s -121.77 Ī¼s -171.507 Ī¼s -121.17 Ī¼s -169.641 Ī¼s -213.8 Ī¼s -171.575 Ī¼s -210.5 Ī¼s -168.528 Ī¼s +10000 +True +116.066 Ī¼s +175.379 Ī¼s +121.77 Ī¼s +171.507 Ī¼s +121.17 Ī¼s +169.641 Ī¼s +213.8 Ī¼s +171.575 Ī¼s +210.5 Ī¼s +168.528 Ī¼s LinkedList -10000 -True -116.991 Ī¼s -132.986 Ī¼s -126.44 Ī¼s -130.148 Ī¼s -126.81 Ī¼s -129.226 Ī¼s -155.2 Ī¼s -136.625 Ī¼s -155.6 Ī¼s -131.705 Ī¼s +10000 +True +116.991 Ī¼s +132.986 Ī¼s +126.44 Ī¼s +130.148 Ī¼s +126.81 Ī¼s +129.226 Ī¼s +155.2 Ī¼s +136.625 Ī¼s +155.6 Ī¼s +131.705 Ī¼s ReadOnlyDictionary -10000 -True -136.765 Ī¼s -332.409 Ī¼s -405.17 Ī¼s -304.997 Ī¼s -273.74 Ī¼s -319.528 Ī¼s -1,041.7 Ī¼s -579.102 Ī¼s -787.1 Ī¼s -607.477 Ī¼s +10000 +True +136.765 Ī¼s +332.409 Ī¼s +405.17 Ī¼s +304.997 Ī¼s +273.74 Ī¼s +319.528 Ī¼s +1,041.7 Ī¼s +579.102 Ī¼s +787.1 Ī¼s +607.477 Ī¼s SortedSet -10000 -True -137.815 Ī¼s -4,029.597 Ī¼s -265.47 Ī¼s -391.434 Ī¼s -270.67 Ī¼s -392.659 Ī¼s -4,392.3 Ī¼s -4,656.899 Ī¼s -4,368.5 Ī¼s -4,528.383 Ī¼s +10000 +True +137.815 Ī¼s +4,029.597 Ī¼s +265.47 Ī¼s +391.434 Ī¼s +270.67 Ī¼s +392.659 Ī¼s +4,392.3 Ī¼s +4,656.899 Ī¼s +4,368.5 Ī¼s +4,528.383 Ī¼s Dictionary -10000 -True -142.937 Ī¼s -334.870 Ī¼s -395.55 Ī¼s -306.255 Ī¼s -275.55 Ī¼s -312.003 Ī¼s -1,044.8 Ī¼s -588.393 Ī¼s -782.3 Ī¼s -639.324 Ī¼s +10000 +True +142.937 Ī¼s +334.870 Ī¼s +395.55 Ī¼s +306.255 Ī¼s +275.55 Ī¼s +312.003 Ī¼s +1,044.8 Ī¼s +588.393 Ī¼s +782.3 Ī¼s +639.324 Ī¼s HashSet -10000 -True -147.227 Ī¼s -283.599 Ī¼s -372.84 Ī¼s -273.213 Ī¼s -202.42 Ī¼s -275.069 Ī¼s -1,024.8 Ī¼s -549.739 Ī¼s -698.1 Ī¼s -568.376 Ī¼s +10000 +True +147.227 Ī¼s +283.599 Ī¼s +372.84 Ī¼s +273.213 Ī¼s +202.42 Ī¼s +275.069 Ī¼s +1,024.8 Ī¼s +549.739 Ī¼s +698.1 Ī¼s +568.376 Ī¼s ImmutableSortedSet -10000 -True -172.463 Ī¼s -4,155.903 Ī¼s -303.40 Ī¼s -494.140 Ī¼s -299.38 Ī¼s -486.520 Ī¼s -4,429.0 Ī¼s -4,526.199 Ī¼s -4,477.8 Ī¼s -4,659.316 Ī¼s +10000 +True +172.463 Ī¼s +4,155.903 Ī¼s +303.40 Ī¼s +494.140 Ī¼s +299.38 Ī¼s +486.520 Ī¼s +4,429.0 Ī¼s +4,526.199 Ī¼s +4,477.8 Ī¼s +4,659.316 Ī¼s SortedList -10000 -True -245.120 Ī¼s -4,363.556 Ī¼s -662.24 Ī¼s -684.466 Ī¼s -460.78 Ī¼s -681.867 Ī¼s -5,475.3 Ī¼s -4,975.379 Ī¼s -5,151.8 Ī¼s -5,177.425 Ī¼s +10000 +True +245.120 Ī¼s +4,363.556 Ī¼s +662.24 Ī¼s +684.466 Ī¼s +460.78 Ī¼s +681.867 Ī¼s +5,475.3 Ī¼s +4,975.379 Ī¼s +5,151.8 Ī¼s +5,177.425 Ī¼s ImmutableList (Sorted) -10000 -True -366.517 Ī¼s -4,170.982 Ī¼s -549.61 Ī¼s -888.906 Ī¼s -518.67 Ī¼s -897.213 Ī¼s -4,647.5 Ī¼s -4,585.707 Ī¼s -4,512.7 Ī¼s -4,591.297 Ī¼s +10000 +True +366.517 Ī¼s +4,170.982 Ī¼s +549.61 Ī¼s +888.906 Ī¼s +518.67 Ī¼s +897.213 Ī¼s +4,647.5 Ī¼s +4,585.707 Ī¼s +4,512.7 Ī¼s +4,591.297 Ī¼s FrozenSet -10000 -True -399.679 Ī¼s -1,549.158 Ī¼s -913.03 Ī¼s -698.686 Ī¼s -606.19 Ī¼s -729.071 Ī¼s -2,089.5 Ī¼s -1,398.326 Ī¼s -1,470.0 Ī¼s -1,409.665 Ī¼s +10000 +True +399.679 Ī¼s +1,549.158 Ī¼s +913.03 Ī¼s +698.686 Ī¼s +606.19 Ī¼s +729.071 Ī¼s +2,089.5 Ī¼s +1,398.326 Ī¼s +1,470.0 Ī¼s +1,409.665 Ī¼s FrozenDictionary -10000 -True -436.484 Ī¼s -1,441.103 Ī¼s -869.17 Ī¼s -819.518 Ī¼s -619.25 Ī¼s -839.095 Ī¼s -2,094.7 Ī¼s -1,458.341 Ī¼s -1,511.2 Ī¼s -1,516.703 Ī¼s +10000 +True +436.484 Ī¼s +1,441.103 Ī¼s +869.17 Ī¼s +819.518 Ī¼s +619.25 Ī¼s +839.095 Ī¼s +2,094.7 Ī¼s +1,458.341 Ī¼s +1,511.2 Ī¼s +1,516.703 Ī¼s SortedDictionary -10000 -True -743.652 Ī¼s -7,403.146 Ī¼s -1,104.86 Ī¼s -1,907.664 Ī¼s -997.43 Ī¼s -1,958.208 Ī¼s -7,726.8 Ī¼s -7,861.160 Ī¼s -7,489.4 Ī¼s -7,981.768 Ī¼s +10000 +True +743.652 Ī¼s +7,403.146 Ī¼s +1,104.86 Ī¼s +1,907.664 Ī¼s +997.43 Ī¼s +1,958.208 Ī¼s +7,726.8 Ī¼s +7,861.160 Ī¼s +7,489.4 Ī¼s +7,981.768 Ī¼s ImmutableHashSet -10000 -True -1,035.964 Ī¼s -2,709.511 Ī¼s -2,540.53 Ī¼s -2,616.598 Ī¼s -2,246.62 Ī¼s -2,628.180 Ī¼s -3,264.9 Ī¼s -2,983.712 Ī¼s -2,820.3 Ī¼s -2,972.986 Ī¼s +10000 +True +1,035.964 Ī¼s +2,709.511 Ī¼s +2,540.53 Ī¼s +2,616.598 Ī¼s +2,246.62 Ī¼s +2,628.180 Ī¼s +3,264.9 Ī¼s +2,983.712 Ī¼s +2,820.3 Ī¼s +2,972.986 Ī¼s ImmutableSortedDictionary -10000 -True -1,045.619 Ī¼s -13,859.086 Ī¼s -1,399.53 Ī¼s -3,041.821 Ī¼s -1,386.34 Ī¼s -3,011.636 Ī¼s -13,620.9 Ī¼s -14,449.871 Ī¼s -13,689.5 Ī¼s -14,415.510 Ī¼s +10000 +True +1,045.619 Ī¼s +13,859.086 Ī¼s +1,399.53 Ī¼s +3,041.821 Ī¼s +1,386.34 Ī¼s +3,011.636 Ī¼s +13,620.9 Ī¼s +14,449.871 Ī¼s +13,689.5 Ī¼s +14,415.510 Ī¼s ImmutableDictionary -10000 -True -1,381.476 Ī¼s -2,794.094 Ī¼s -2,666.65 Ī¼s -2,828.422 Ī¼s -2,392.36 Ī¼s -2,717.978 Ī¼s -4,178.5 Ī¼s -3,206.907 Ī¼s -3,143.3 Ī¼s -3,101.142 Ī¼s +10000 +True +1,381.476 Ī¼s +2,794.094 Ī¼s +2,666.65 Ī¼s +2,828.422 Ī¼s +2,392.36 Ī¼s +2,717.978 Ī¼s +4,178.5 Ī¼s +3,206.907 Ī¼s +3,143.3 Ī¼s +3,101.142 Ī¼s @@ -727,333 +776,333 @@

Comparison: Mean

ReadOnlyCollection -1000000 -False -504.324 Ī¼s -2,472.077 Ī¼s -3,355.06 Ī¼s -1,952.889 Ī¼s -3,348.69 Ī¼s -1,980.965 Ī¼s -9,988.4 Ī¼s -3,311.382 Ī¼s -9,307.7 Ī¼s -3,286.470 Ī¼s +1000000 +False +504.324 Ī¼s +2,472.077 Ī¼s +3,355.06 Ī¼s +1,952.889 Ī¼s +3,348.69 Ī¼s +1,980.965 Ī¼s +9,988.4 Ī¼s +3,311.382 Ī¼s +9,307.7 Ī¼s +3,286.470 Ī¼s Array -1000000 -False -515.856 Ī¼s -1,746.981 Ī¼s -3,279.49 Ī¼s -1,685.417 Ī¼s -3,361.73 Ī¼s -1,699.744 Ī¼s -9,537.0 Ī¼s -3,268.163 Ī¼s -9,510.5 Ī¼s -3,307.651 Ī¼s +1000000 +False +515.856 Ī¼s +1,746.981 Ī¼s +3,279.49 Ī¼s +1,685.417 Ī¼s +3,361.73 Ī¼s +1,699.744 Ī¼s +9,537.0 Ī¼s +3,268.163 Ī¼s +9,510.5 Ī¼s +3,307.651 Ī¼s ImmutableArray -1000000 -False -516.147 Ī¼s -1,772.569 Ī¼s -3,273.59 Ī¼s -1,698.699 Ī¼s -3,440.68 Ī¼s -1,701.287 Ī¼s -10,483.7 Ī¼s -3,272.491 Ī¼s -9,444.1 Ī¼s -3,282.731 Ī¼s +1000000 +False +516.147 Ī¼s +1,772.569 Ī¼s +3,273.59 Ī¼s +1,698.699 Ī¼s +3,440.68 Ī¼s +1,701.287 Ī¼s +10,483.7 Ī¼s +3,272.491 Ī¼s +9,444.1 Ī¼s +3,282.731 Ī¼s List -1000000 -False -529.806 Ī¼s -2,453.267 Ī¼s -3,385.21 Ī¼s -1,914.800 Ī¼s -3,351.13 Ī¼s -1,925.687 Ī¼s -10,443.0 Ī¼s -3,284.328 Ī¼s -9,259.2 Ī¼s -3,298.947 Ī¼s +1000000 +False +529.806 Ī¼s +2,453.267 Ī¼s +3,385.21 Ī¼s +1,914.800 Ī¼s +3,351.13 Ī¼s +1,925.687 Ī¼s +10,443.0 Ī¼s +3,284.328 Ī¼s +9,259.2 Ī¼s +3,298.947 Ī¼s Dictionary -1000000 -False -31,995.977 Ī¼s -61,127.048 Ī¼s -95,366.36 Ī¼s -60,327.741 Ī¼s -86,209.48 Ī¼s -60,767.570 Ī¼s -169,128.5 Ī¼s -111,899.153 Ī¼s -134,952.6 Ī¼s -111,311.340 Ī¼s +1000000 +False +31,995.977 Ī¼s +61,127.048 Ī¼s +95,366.36 Ī¼s +60,327.741 Ī¼s +86,209.48 Ī¼s +60,767.570 Ī¼s +169,128.5 Ī¼s +111,899.153 Ī¼s +134,952.6 Ī¼s +111,311.340 Ī¼s ReadOnlyDictionary -1000000 -False -32,691.544 Ī¼s -61,574.407 Ī¼s -98,468.03 Ī¼s -62,046.867 Ī¼s -82,703.11 Ī¼s -60,075.867 Ī¼s -169,061.4 Ī¼s -110,552.000 Ī¼s -131,012.5 Ī¼s -111,836.913 Ī¼s +1000000 +False +32,691.544 Ī¼s +61,574.407 Ī¼s +98,468.03 Ī¼s +62,046.867 Ī¼s +82,703.11 Ī¼s +60,075.867 Ī¼s +169,061.4 Ī¼s +110,552.000 Ī¼s +131,012.5 Ī¼s +111,836.913 Ī¼s HashSet -1000000 -False -33,712.833 Ī¼s -54,896.483 Ī¼s -92,534.76 Ī¼s -54,644.158 Ī¼s -55,756.19 Ī¼s -54,258.454 Ī¼s -166,453.3 Ī¼s -114,099.520 Ī¼s -125,852.4 Ī¼s -118,752.847 Ī¼s +1000000 +False +33,712.833 Ī¼s +54,896.483 Ī¼s +92,534.76 Ī¼s +54,644.158 Ī¼s +55,756.19 Ī¼s +54,258.454 Ī¼s +166,453.3 Ī¼s +114,099.520 Ī¼s +125,852.4 Ī¼s +118,752.847 Ī¼s List (Sorted) -1000000 -False -51,104.713 Ī¼s -1,272,296.833 Ī¼s -69,169.95 Ī¼s -220,972.511 Ī¼s -68,037.01 Ī¼s -207,235.722 Ī¼s -1,510,138.4 Ī¼s -1,597,649.833 Ī¼s -1,551,474.3 Ī¼s -1,692,189.200 Ī¼s +1000000 +False +51,104.713 Ī¼s +1,272,296.833 Ī¼s +69,169.95 Ī¼s +220,972.511 Ī¼s +68,037.01 Ī¼s +207,235.722 Ī¼s +1,510,138.4 Ī¼s +1,597,649.833 Ī¼s +1,551,474.3 Ī¼s +1,692,189.200 Ī¼s Array (Sorted) -1000000 -False -51,494.177 Ī¼s -1,261,504.233 Ī¼s -69,460.58 Ī¼s -197,477.022 Ī¼s -69,650.39 Ī¼s -194,178.900 Ī¼s -1,561,056.7 Ī¼s -1,563,808.800 Ī¼s -1,507,109.5 Ī¼s -1,723,026.467 Ī¼s +1000000 +False +51,494.177 Ī¼s +1,261,504.233 Ī¼s +69,460.58 Ī¼s +197,477.022 Ī¼s +69,650.39 Ī¼s +194,178.900 Ī¼s +1,561,056.7 Ī¼s +1,563,808.800 Ī¼s +1,507,109.5 Ī¼s +1,723,026.467 Ī¼s ImmutableArray (Sorted) -1000000 -False -51,958.013 Ī¼s -1,254,252.433 Ī¼s -68,780.38 Ī¼s -194,048.133 Ī¼s -71,666.14 Ī¼s -208,567.000 Ī¼s -1,537,310.0 Ī¼s -1,567,698.933 Ī¼s -1,508,957.0 Ī¼s -1,700,343.400 Ī¼s +1000000 +False +51,958.013 Ī¼s +1,254,252.433 Ī¼s +68,780.38 Ī¼s +194,048.133 Ī¼s +71,666.14 Ī¼s +208,567.000 Ī¼s +1,537,310.0 Ī¼s +1,567,698.933 Ī¼s +1,508,957.0 Ī¼s +1,700,343.400 Ī¼s ImmutableList -1000000 -False -70,960.167 Ī¼s -66,808.562 Ī¼s -81,617.96 Ī¼s -71,489.821 Ī¼s -83,067.50 Ī¼s -71,283.192 Ī¼s -86,172.9 Ī¼s -57,231.215 Ī¼s -82,798.1 Ī¼s -56,876.248 Ī¼s +1000000 +False +70,960.167 Ī¼s +66,808.562 Ī¼s +81,617.96 Ī¼s +71,489.821 Ī¼s +83,067.50 Ī¼s +71,283.192 Ī¼s +86,172.9 Ī¼s +57,231.215 Ī¼s +82,798.1 Ī¼s +56,876.248 Ī¼s LinkedList -1000000 -False -82,392.728 Ī¼s -84,810.195 Ī¼s -94,274.66 Ī¼s -90,952.739 Ī¼s -96,208.36 Ī¼s -89,269.006 Ī¼s -83,882.4 Ī¼s -78,025.738 Ī¼s -82,806.8 Ī¼s -77,498.105 Ī¼s +1000000 +False +82,392.728 Ī¼s +84,810.195 Ī¼s +94,274.66 Ī¼s +90,952.739 Ī¼s +96,208.36 Ī¼s +89,269.006 Ī¼s +83,882.4 Ī¼s +78,025.738 Ī¼s +82,806.8 Ī¼s +77,498.105 Ī¼s SortedList -1000000 -False -113,853.193 Ī¼s -1,480,264.133 Ī¼s -193,554.06 Ī¼s -301,168.667 Ī¼s -183,632.01 Ī¼s -306,761.850 Ī¼s -1,878,580.4 Ī¼s -1,886,570.833 Ī¼s -1,826,587.8 Ī¼s -2,043,428.367 Ī¼s +1000000 +False +113,853.193 Ī¼s +1,480,264.133 Ī¼s +193,554.06 Ī¼s +301,168.667 Ī¼s +183,632.01 Ī¼s +306,761.850 Ī¼s +1,878,580.4 Ī¼s +1,886,570.833 Ī¼s +1,826,587.8 Ī¼s +2,043,428.367 Ī¼s ImmutableSortedSet -1000000 -False -123,215.547 Ī¼s -1,421,397.567 Ī¼s -152,350.92 Ī¼s -314,867.617 Ī¼s -152,072.15 Ī¼s -324,018.883 Ī¼s -1,749,357.3 Ī¼s -1,804,288.267 Ī¼s -1,706,557.2 Ī¼s -1,946,018.867 Ī¼s +1000000 +False +123,215.547 Ī¼s +1,421,397.567 Ī¼s +152,350.92 Ī¼s +314,867.617 Ī¼s +152,072.15 Ī¼s +324,018.883 Ī¼s +1,749,357.3 Ī¼s +1,804,288.267 Ī¼s +1,706,557.2 Ī¼s +1,946,018.867 Ī¼s FrozenDictionary -1000000 -False -125,824.411 Ī¼s -618,932.333 Ī¼s -211,491.02 Ī¼s -161,481.422 Ī¼s -176,315.19 Ī¼s -175,977.083 Ī¼s -336,933.9 Ī¼s -262,421.450 Ī¼s -283,767.8 Ī¼s -265,990.750 Ī¼s +1000000 +False +125,824.411 Ī¼s +618,932.333 Ī¼s +211,491.02 Ī¼s +161,481.422 Ī¼s +176,315.19 Ī¼s +175,977.083 Ī¼s +336,933.9 Ī¼s +262,421.450 Ī¼s +283,767.8 Ī¼s +265,990.750 Ī¼s SortedSet -1000000 -False -132,993.567 Ī¼s -1,412,164.933 Ī¼s -162,289.78 Ī¼s -315,448.083 Ī¼s -160,096.23 Ī¼s -315,208.317 Ī¼s -1,702,656.9 Ī¼s -1,777,829.900 Ī¼s -1,724,518.4 Ī¼s -1,930,465.767 Ī¼s +1000000 +False +132,993.567 Ī¼s +1,412,164.933 Ī¼s +162,289.78 Ī¼s +315,448.083 Ī¼s +160,096.23 Ī¼s +315,208.317 Ī¼s +1,702,656.9 Ī¼s +1,777,829.900 Ī¼s +1,724,518.4 Ī¼s +1,930,465.767 Ī¼s FrozenSet -1000000 -False -139,661.489 Ī¼s -625,179.800 Ī¼s -200,634.72 Ī¼s -175,773.058 Ī¼s -161,055.81 Ī¼s -178,048.511 Ī¼s -352,984.7 Ī¼s -245,707.167 Ī¼s -274,479.2 Ī¼s -247,040.000 Ī¼s +1000000 +False +139,661.489 Ī¼s +625,179.800 Ī¼s +200,634.72 Ī¼s +175,773.058 Ī¼s +161,055.81 Ī¼s +178,048.511 Ī¼s +352,984.7 Ī¼s +245,707.167 Ī¼s +274,479.2 Ī¼s +247,040.000 Ī¼s ImmutableList (Sorted) -1000000 -False -225,373.189 Ī¼s -1,440,594.067 Ī¼s -252,204.45 Ī¼s -378,184.633 Ī¼s -246,561.13 Ī¼s -373,668.200 Ī¼s -1,698,900.6 Ī¼s -1,667,373.167 Ī¼s -1,657,942.0 Ī¼s -1,809,876.100 Ī¼s +1000000 +False +225,373.189 Ī¼s +1,440,594.067 Ī¼s +252,204.45 Ī¼s +378,184.633 Ī¼s +246,561.13 Ī¼s +373,668.200 Ī¼s +1,698,900.6 Ī¼s +1,667,373.167 Ī¼s +1,657,942.0 Ī¼s +1,809,876.100 Ī¼s SortedDictionary -1000000 -False -609,980.667 Ī¼s -2,126,734.967 Ī¼s -739,231.10 Ī¼s -1,067,929.233 Ī¼s -745,543.80 Ī¼s -1,093,100.200 Ī¼s -2,303,442.4 Ī¼s -2,417,957.433 Ī¼s -2,305,865.1 Ī¼s -2,546,313.000 Ī¼s +1000000 +False +609,980.667 Ī¼s +2,126,734.967 Ī¼s +739,231.10 Ī¼s +1,067,929.233 Ī¼s +745,543.80 Ī¼s +1,093,100.200 Ī¼s +2,303,442.4 Ī¼s +2,417,957.433 Ī¼s +2,305,865.1 Ī¼s +2,546,313.000 Ī¼s ImmutableHashSet -1000000 -False -940,782.600 Ī¼s -1,050,838.967 Ī¼s -1,345,858.57 Ī¼s -1,155,167.933 Ī¼s -1,088,117.17 Ī¼s -1,062,482.900 Ī¼s -1,510,336.7 Ī¼s -1,115,422.667 Ī¼s -1,145,315.5 Ī¼s -1,160,763.567 Ī¼s +1000000 +False +940,782.600 Ī¼s +1,050,838.967 Ī¼s +1,345,858.57 Ī¼s +1,155,167.933 Ī¼s +1,088,117.17 Ī¼s +1,062,482.900 Ī¼s +1,510,336.7 Ī¼s +1,115,422.667 Ī¼s +1,145,315.5 Ī¼s +1,160,763.567 Ī¼s ImmutableSortedDictionary -1000000 -False -968,602.200 Ī¼s -3,508,576.867 Ī¼s -1,457,313.17 Ī¼s -1,667,027.167 Ī¼s -1,434,820.20 Ī¼s -1,663,175.333 Ī¼s -4,135,377.6 Ī¼s -3,697,727.067 Ī¼s -4,077,824.1 Ī¼s -3,897,755.767 Ī¼s +1000000 +False +968,602.200 Ī¼s +3,508,576.867 Ī¼s +1,457,313.17 Ī¼s +1,667,027.167 Ī¼s +1,434,820.20 Ī¼s +1,663,175.333 Ī¼s +4,135,377.6 Ī¼s +3,697,727.067 Ī¼s +4,077,824.1 Ī¼s +3,897,755.767 Ī¼s ImmutableDictionary -1000000 -False -985,886.700 Ī¼s -1,168,491.733 Ī¼s -1,354,303.10 Ī¼s -1,123,025.100 Ī¼s -1,061,682.70 Ī¼s -1,173,974.133 Ī¼s -1,605,377.8 Ī¼s -1,135,339.300 Ī¼s -1,227,295.7 Ī¼s -1,164,108.000 Ī¼s +1000000 +False +985,886.700 Ī¼s +1,168,491.733 Ī¼s +1,354,303.10 Ī¼s +1,123,025.100 Ī¼s +1,061,682.70 Ī¼s +1,173,974.133 Ī¼s +1,605,377.8 Ī¼s +1,135,339.300 Ī¼s +1,227,295.7 Ī¼s +1,164,108.000 Ī¼s @@ -1066,367 +1115,406 @@

Comparison: Mean

ReadOnlyCollection -1000000 -True -507.657 Ī¼s -3,656.048 Ī¼s -3,293.87 Ī¼s -3,181.845 Ī¼s -3,390.67 Ī¼s -3,186.602 Ī¼s -16,916.9 Ī¼s -5,455.066 Ī¼s -16,802.8 Ī¼s -5,578.555 Ī¼s +1000000 +True +507.657 Ī¼s +3,656.048 Ī¼s +3,293.87 Ī¼s +3,181.845 Ī¼s +3,390.67 Ī¼s +3,186.602 Ī¼s +16,916.9 Ī¼s +5,455.066 Ī¼s +16,802.8 Ī¼s +5,578.555 Ī¼s Array -1000000 -True -517.425 Ī¼s -2,969.073 Ī¼s -3,300.02 Ī¼s -3,035.039 Ī¼s -3,378.33 Ī¼s -3,026.706 Ī¼s -16,601.8 Ī¼s -5,476.214 Ī¼s -16,592.8 Ī¼s -5,642.840 Ī¼s +1000000 +True +517.425 Ī¼s +2,969.073 Ī¼s +3,300.02 Ī¼s +3,035.039 Ī¼s +3,378.33 Ī¼s +3,026.706 Ī¼s +16,601.8 Ī¼s +5,476.214 Ī¼s +16,592.8 Ī¼s +5,642.840 Ī¼s ImmutableArray -1000000 -True -520.356 Ī¼s -2,974.764 Ī¼s -3,296.75 Ī¼s -3,018.099 Ī¼s -3,390.09 Ī¼s -3,015.545 Ī¼s -18,501.8 Ī¼s -5,477.453 Ī¼s -16,688.3 Ī¼s -5,580.492 Ī¼s +1000000 +True +520.356 Ī¼s +2,974.764 Ī¼s +3,296.75 Ī¼s +3,018.099 Ī¼s +3,390.09 Ī¼s +3,015.545 Ī¼s +18,501.8 Ī¼s +5,477.453 Ī¼s +16,688.3 Ī¼s +5,580.492 Ī¼s List -1000000 -True -533.574 Ī¼s -3,629.443 Ī¼s -3,286.39 Ī¼s -3,199.480 Ī¼s -3,445.90 Ī¼s -3,164.733 Ī¼s -17,928.5 Ī¼s -5,461.394 Ī¼s -16,801.9 Ī¼s -5,572.833 Ī¼s +1000000 +True +533.574 Ī¼s +3,629.443 Ī¼s +3,286.39 Ī¼s +3,199.480 Ī¼s +3,445.90 Ī¼s +3,164.733 Ī¼s +17,928.5 Ī¼s +5,461.394 Ī¼s +16,801.9 Ī¼s +5,572.833 Ī¼s ImmutableArray (Sorted) -1000000 -True -1,201.790 Ī¼s -145,644.625 Ī¼s -4,542.70 Ī¼s -28,134.218 Ī¼s -4,579.29 Ī¼s -28,134.045 Ī¼s -156,783.3 Ī¼s -164,471.025 Ī¼s -156,884.1 Ī¼s -173,624.989 Ī¼s +1000000 +True +1,201.790 Ī¼s +145,644.625 Ī¼s +4,542.70 Ī¼s +28,134.218 Ī¼s +4,579.29 Ī¼s +28,134.045 Ī¼s +156,783.3 Ī¼s +164,471.025 Ī¼s +156,884.1 Ī¼s +173,624.989 Ī¼s Array (Sorted) -1000000 -True -5,856.667 Ī¼s -1,129,643.800 Ī¼s -21,387.96 Ī¼s -104,549.827 Ī¼s -17,908.28 Ī¼s -104,135.887 Ī¼s -1,222,815.8 Ī¼s -1,316,068.900 Ī¼s -1,239,819.4 Ī¼s -1,434,924.700 Ī¼s +1000000 +True +5,856.667 Ī¼s +1,129,643.800 Ī¼s +21,387.96 Ī¼s +104,549.827 Ī¼s +17,908.28 Ī¼s +104,135.887 Ī¼s +1,222,815.8 Ī¼s +1,316,068.900 Ī¼s +1,239,819.4 Ī¼s +1,434,924.700 Ī¼s List (Sorted) -1000000 -True -5,877.452 Ī¼s -1,155,808.467 Ī¼s -18,011.67 Ī¼s -100,802.133 Ī¼s -21,601.00 Ī¼s -99,407.839 Ī¼s -1,213,193.5 Ī¼s -1,293,602.933 Ī¼s -1,227,750.5 Ī¼s -1,438,051.333 Ī¼s +1000000 +True +5,877.452 Ī¼s +1,155,808.467 Ī¼s +18,011.67 Ī¼s +100,802.133 Ī¼s +21,601.00 Ī¼s +99,407.839 Ī¼s +1,213,193.5 Ī¼s +1,293,602.933 Ī¼s +1,227,750.5 Ī¼s +1,438,051.333 Ī¼s Dictionary -1000000 -True -32,210.608 Ī¼s -126,735.980 Ī¼s -96,648.89 Ī¼s -120,166.687 Ī¼s -82,675.68 Ī¼s -118,498.060 Ī¼s -281,732.3 Ī¼s -187,881.022 Ī¼s -281,131.2 Ī¼s -197,542.911 Ī¼s +1000000 +True +32,210.608 Ī¼s +126,735.980 Ī¼s +96,648.89 Ī¼s +120,166.687 Ī¼s +82,675.68 Ī¼s +118,498.060 Ī¼s +281,732.3 Ī¼s +187,881.022 Ī¼s +281,131.2 Ī¼s +197,542.911 Ī¼s ReadOnlyDictionary -1000000 -True -33,912.242 Ī¼s -128,017.127 Ī¼s -93,465.42 Ī¼s -122,204.400 Ī¼s -82,684.19 Ī¼s -117,655.820 Ī¼s -278,656.2 Ī¼s -189,598.811 Ī¼s -269,814.9 Ī¼s -194,706.833 Ī¼s +1000000 +True +33,912.242 Ī¼s +128,017.127 Ī¼s +93,465.42 Ī¼s +122,204.400 Ī¼s +82,684.19 Ī¼s +117,655.820 Ī¼s +278,656.2 Ī¼s +189,598.811 Ī¼s +269,814.9 Ī¼s +194,706.833 Ī¼s HashSet -1000000 -True -35,300.460 Ī¼s -132,884.167 Ī¼s -92,074.00 Ī¼s -137,878.008 Ī¼s -57,191.87 Ī¼s -143,134.783 Ī¼s -282,177.2 Ī¼s -189,317.022 Ī¼s -190,732.3 Ī¼s -202,440.711 Ī¼s +1000000 +True +35,300.460 Ī¼s +132,884.167 Ī¼s +92,074.00 Ī¼s +137,878.008 Ī¼s +57,191.87 Ī¼s +143,134.783 Ī¼s +282,177.2 Ī¼s +189,317.022 Ī¼s +190,732.3 Ī¼s +202,440.711 Ī¼s SortedList -1000000 -True -51,409.652 Ī¼s -1,436,318.133 Ī¼s -117,013.70 Ī¼s -278,611.633 Ī¼s -118,840.49 Ī¼s -276,128.750 Ī¼s -1,676,060.0 Ī¼s -1,709,906.733 Ī¼s -1,655,944.9 Ī¼s -1,829,603.667 Ī¼s +1000000 +True +51,409.652 Ī¼s +1,436,318.133 Ī¼s +117,013.70 Ī¼s +278,611.633 Ī¼s +118,840.49 Ī¼s +276,128.750 Ī¼s +1,676,060.0 Ī¼s +1,709,906.733 Ī¼s +1,655,944.9 Ī¼s +1,829,603.667 Ī¼s ImmutableList -1000000 -True -67,951.648 Ī¼s -81,748.695 Ī¼s -84,500.11 Ī¼s -81,404.257 Ī¼s -83,139.71 Ī¼s -84,200.256 Ī¼s -102,191.5 Ī¼s -63,083.425 Ī¼s -98,327.3 Ī¼s -62,545.704 Ī¼s +1000000 +True +67,951.648 Ī¼s +81,748.695 Ī¼s +84,500.11 Ī¼s +81,404.257 Ī¼s +83,139.71 Ī¼s +84,200.256 Ī¼s +102,191.5 Ī¼s +63,083.425 Ī¼s +98,327.3 Ī¼s +62,545.704 Ī¼s ImmutableSortedSet -1000000 -True -75,711.886 Ī¼s -1,319,996.033 Ī¼s -105,094.11 Ī¼s -225,921.800 Ī¼s -107,157.75 Ī¼s -237,027.683 Ī¼s -1,489,399.2 Ī¼s -1,534,986.133 Ī¼s -1,453,673.0 Ī¼s -1,644,704.967 Ī¼s +1000000 +True +75,711.886 Ī¼s +1,319,996.033 Ī¼s +105,094.11 Ī¼s +225,921.800 Ī¼s +107,157.75 Ī¼s +237,027.683 Ī¼s +1,489,399.2 Ī¼s +1,534,986.133 Ī¼s +1,453,673.0 Ī¼s +1,644,704.967 Ī¼s LinkedList -1000000 -True -84,287.589 Ī¼s -99,761.672 Ī¼s -94,579.08 Ī¼s -104,472.178 Ī¼s -94,499.33 Ī¼s -103,702.533 Ī¼s -105,297.4 Ī¼s -93,205.919 Ī¼s -104,024.1 Ī¼s -94,607.424 Ī¼s +1000000 +True +84,287.589 Ī¼s +99,761.672 Ī¼s +94,579.08 Ī¼s +104,472.178 Ī¼s +94,499.33 Ī¼s +103,702.533 Ī¼s +105,297.4 Ī¼s +93,205.919 Ī¼s +104,024.1 Ī¼s +94,607.424 Ī¼s SortedSet -1000000 -True -90,717.528 Ī¼s -1,297,840.200 Ī¼s -109,118.06 Ī¼s -216,388.522 Ī¼s -112,447.05 Ī¼s -216,421.822 Ī¼s -1,508,580.2 Ī¼s -1,516,966.767 Ī¼s -1,414,749.6 Ī¼s -1,622,614.400 Ī¼s +1000000 +True +90,717.528 Ī¼s +1,297,840.200 Ī¼s +109,118.06 Ī¼s +216,388.522 Ī¼s +112,447.05 Ī¼s +216,421.822 Ī¼s +1,508,580.2 Ī¼s +1,516,966.767 Ī¼s +1,414,749.6 Ī¼s +1,622,614.400 Ī¼s FrozenDictionary -1000000 -True -112,082.172 Ī¼s -1,281,507.900 Ī¼s -212,502.02 Ī¼s -259,589.817 Ī¼s -178,418.33 Ī¼s -266,822.083 Ī¼s -561,942.3 Ī¼s -442,312.200 Ī¼s -519,579.4 Ī¼s -470,388.933 Ī¼s +1000000 +True +112,082.172 Ī¼s +1,281,507.900 Ī¼s +212,502.02 Ī¼s +259,589.817 Ī¼s +178,418.33 Ī¼s +266,822.083 Ī¼s +561,942.3 Ī¼s +442,312.200 Ī¼s +519,579.4 Ī¼s +470,388.933 Ī¼s FrozenSet -1000000 -True -129,252.750 Ī¼s -1,302,989.867 Ī¼s -206,294.76 Ī¼s -288,380.600 Ī¼s -163,747.90 Ī¼s -313,587.333 Ī¼s -566,892.6 Ī¼s -450,568.600 Ī¼s -435,732.6 Ī¼s -496,427.167 Ī¼s +1000000 +True +129,252.750 Ī¼s +1,302,989.867 Ī¼s +206,294.76 Ī¼s +288,380.600 Ī¼s +163,747.90 Ī¼s +313,587.333 Ī¼s +566,892.6 Ī¼s +450,568.600 Ī¼s +435,732.6 Ī¼s +496,427.167 Ī¼s ImmutableList (Sorted) -1000000 -True -176,902.744 Ī¼s -1,413,845.300 Ī¼s -217,075.62 Ī¼s -371,582.167 Ī¼s -217,747.91 Ī¼s -388,608.967 Ī¼s -1,470,650.3 Ī¼s -1,518,881.367 Ī¼s -1,381,403.5 Ī¼s -1,643,588.667 Ī¼s +1000000 +True +176,902.744 Ī¼s +1,413,845.300 Ī¼s +217,075.62 Ī¼s +371,582.167 Ī¼s +217,747.91 Ī¼s +388,608.967 Ī¼s +1,470,650.3 Ī¼s +1,518,881.367 Ī¼s +1,381,403.5 Ī¼s +1,643,588.667 Ī¼s SortedDictionary -1000000 -True -180,298.967 Ī¼s -1,383,237.633 Ī¼s -273,297.77 Ī¼s -564,813.300 Ī¼s -262,830.27 Ī¼s -541,675.867 Ī¼s -1,487,667.4 Ī¼s -1,491,527.233 Ī¼s -1,476,652.0 Ī¼s -1,503,189.433 Ī¼s +1000000 +True +180,298.967 Ī¼s +1,383,237.633 Ī¼s +273,297.77 Ī¼s +564,813.300 Ī¼s +262,830.27 Ī¼s +541,675.867 Ī¼s +1,487,667.4 Ī¼s +1,491,527.233 Ī¼s +1,476,652.0 Ī¼s +1,503,189.433 Ī¼s ImmutableHashSet -1000000 -True -251,731.117 Ī¼s -1,201,671.967 Ī¼s -1,376,826.17 Ī¼s -1,248,229.333 Ī¼s -1,068,130.90 Ī¼s -1,238,479.167 Ī¼s -1,630,119.1 Ī¼s -1,305,933.000 Ī¼s -1,263,848.3 Ī¼s -1,313,633.200 Ī¼s +1000000 +True +251,731.117 Ī¼s +1,201,671.967 Ī¼s +1,376,826.17 Ī¼s +1,248,229.333 Ī¼s +1,068,130.90 Ī¼s +1,238,479.167 Ī¼s +1,630,119.1 Ī¼s +1,305,933.000 Ī¼s +1,263,848.3 Ī¼s +1,313,633.200 Ī¼s ImmutableDictionary -1000000 -True -279,102.817 Ī¼s -1,283,939.367 Ī¼s -1,428,985.53 Ī¼s -1,267,845.800 Ī¼s -1,081,328.97 Ī¼s -1,276,222.100 Ī¼s -1,732,876.9 Ī¼s -1,315,924.700 Ī¼s -1,360,223.1 Ī¼s -1,316,530.100 Ī¼s +1000000 +True +279,102.817 Ī¼s +1,283,939.367 Ī¼s +1,428,985.53 Ī¼s +1,267,845.800 Ī¼s +1,081,328.97 Ī¼s +1,276,222.100 Ī¼s +1,732,876.9 Ī¼s +1,315,924.700 Ī¼s +1,360,223.1 Ī¼s +1,316,530.100 Ī¼s ImmutableSortedDictionary -1000000 -True -288,083.850 Ī¼s -2,494,466.167 Ī¼s -455,724.87 Ī¼s -649,206.133 Ī¼s -465,749.07 Ī¼s -652,564.900 Ī¼s -2,430,546.8 Ī¼s -2,466,352.000 Ī¼s -2,537,376.7 Ī¼s -2,486,785.633 Ī¼s +1000000 +True +288,083.850 Ī¼s +2,494,466.167 Ī¼s +455,724.87 Ī¼s +649,206.133 Ī¼s +465,749.07 Ī¼s +652,564.900 Ī¼s +2,430,546.8 Ī¼s +2,466,352.000 Ī¼s +2,537,376.7 Ī¼s +2,486,785.633 Ī¼s - + + + - \ No newline at end of file diff --git a/docs/Benchmark-Initialize-Mean.png b/docs/Benchmark-Initialize-Mean.png index 3e76695..4ec72c7 100644 Binary files a/docs/Benchmark-Initialize-Mean.png and b/docs/Benchmark-Initialize-Mean.png differ diff --git a/docs/Benchmark-Initialize-Mean.webp b/docs/Benchmark-Initialize-Mean.webp index 392edb3..4cc3291 100644 Binary files a/docs/Benchmark-Initialize-Mean.webp and b/docs/Benchmark-Initialize-Mean.webp differ diff --git a/docs/Benchmark-SearchContains-Allocated.html b/docs/Benchmark-SearchContains-Allocated.html index df86911..42cf056 100644 --- a/docs/Benchmark-SearchContains-Allocated.html +++ b/docs/Benchmark-SearchContains-Allocated.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Searching (Contains method) in terms of Allocation Size + + + - - - - +

Benchmark of Collection Searching (Contains method) in terms of Allocation Size

 
@@ -49,323 +98,323 @@ 

Comparison: Allocated

Array (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- - - -List (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -SortedSet -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +ImmutableList (Sorted + BinarySearch) +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- ImmutableSortedDictionary -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- ImmutableSortedSet -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +List (Sorted + BinarySearch) +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -FrozenSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +SortedSet +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -FrozenDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +Dictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -Dictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +FrozenDictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -HashSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +FrozenSet +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -ReadOnlyDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +HashSet +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- ImmutableDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- ImmutableHashSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -SortedList -O(log(N)) -1000 -False -- -- -32 B -- -32 B -- -40 B -- -40 B -- +ReadOnlyDictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- SortedDictionary -O(log(N)) -1000 -False -- -- -32 B -- -32 B -- -40 B -- -40 B -- +O(log(N)) +1000 +False +- +- +32 B +- +32 B +- +40 B +- +40 B +- + + +SortedList +O(log(N)) +1000 +False +- +- +32 B +- +32 B +- +40 B +- +40 B +- Array -O(N) -1000 -False -- -- -64000 B -- -- -- -128000 B -- -- -- +O(N) +1000 +False +- +- +64000 B +- +- +- +128000 B +- +- +- List -O(N) -1000 -False -- -- -64000 B -- -- -- -128000 B -- -- -- +O(N) +1000 +False +- +- +64000 B +- +- +- +128000 B +- +- +- -ReadOnlyCollection -O(N) -1000 -False -- -- -64000 B -- -- -- -128001 B -- -- -- +ImmutableArray +O(N) +1000 +False +- +- +64000 B +- +- +- +128001 B +- +- +- -ImmutableArray -O(N) -1000 -False -- -- -64000 B -- -- -- -128001 B -- -- -- +ReadOnlyCollection +O(N) +1000 +False +- +- +64000 B +- +- +- +128001 B +- +- +- @@ -378,357 +427,396 @@

Comparison: Allocated

Array (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -List (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +ImmutableArray (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -SortedSet -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +ImmutableList (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +ImmutableSortedDictionary +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- ImmutableSortedSet -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- - - -ImmutableSortedDictionary -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +List (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -SortedList -O(log(N)) -1000 -True -- -- -32 B -- -32 B -- -40 B -- -40 B -- +SortedSet +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- SortedDictionary -O(log(N)) -1000 -True -- -- -32 B -- -32 B -- -40 B -- -40 B -- +O(log(N)) +1000 +True +- +- +32 B +- +32 B +- +40 B +- +40 B +- -FrozenSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +SortedList +O(log(N)) +1000 +True +- +- +32 B +- +32 B +- +40 B +- +40 B +- -FrozenDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +Dictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -HashSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +FrozenDictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -Dictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +FrozenSet +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -ReadOnlyDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +HashSet +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- ImmutableDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- ImmutableHashSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -ReadOnlyCollection -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +ReadOnlyDictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- Array -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- + + +ImmutableArray +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- List -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- -ImmutableArray -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +ReadOnlyCollection +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- - + + + - \ No newline at end of file diff --git a/docs/Benchmark-SearchContains-Allocated.png b/docs/Benchmark-SearchContains-Allocated.png index d6fd1bf..d003e53 100644 Binary files a/docs/Benchmark-SearchContains-Allocated.png and b/docs/Benchmark-SearchContains-Allocated.png differ diff --git a/docs/Benchmark-SearchContains-Allocated.webp b/docs/Benchmark-SearchContains-Allocated.webp index e1b2efe..06d69c0 100644 Binary files a/docs/Benchmark-SearchContains-Allocated.webp and b/docs/Benchmark-SearchContains-Allocated.webp differ diff --git a/docs/Benchmark-SearchContains-Mean.html b/docs/Benchmark-SearchContains-Mean.html index 3f23b84..28dca90 100644 --- a/docs/Benchmark-SearchContains-Mean.html +++ b/docs/Benchmark-SearchContains-Mean.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Searching (Contains method) in terms of Execution Time (Mean) + + + - - - - +

Benchmark of Collection Searching (Contains method) in terms of Execution Time (Mean)

 
@@ -49,323 +98,323 @@ 

Comparison: Mean

FrozenSet -O(1) -1000 -False -1.945 ns -4.308 ns -20.32 ns -3.816 ns -2.595 ns -5.191 ns -60.97 ns -23.75 ns -22.21 ns -26.26 ns +O(1) +1000 +False +1.945 ns +4.308 ns +20.32 ns +3.816 ns +2.595 ns +5.191 ns +60.97 ns +23.75 ns +22.21 ns +26.26 ns FrozenDictionary -O(1) -1000 -False -2.029 ns -4.405 ns -20.49 ns -3.970 ns -2.598 ns -5.176 ns -56.80 ns -23.77 ns -22.56 ns -25.92 ns +O(1) +1000 +False +2.029 ns +4.405 ns +20.49 ns +3.970 ns +2.598 ns +5.176 ns +56.80 ns +23.77 ns +22.56 ns +25.92 ns Dictionary -O(1) -1000 -False -3.151 ns -7.015 ns -24.19 ns -5.605 ns -4.380 ns -7.726 ns -57.91 ns -26.48 ns -25.28 ns -28.83 ns +O(1) +1000 +False +3.151 ns +7.015 ns +24.19 ns +5.605 ns +4.380 ns +7.726 ns +57.91 ns +26.48 ns +25.28 ns +28.83 ns HashSet -O(1) -1000 -False -3.557 ns -6.841 ns -22.29 ns -5.896 ns -4.425 ns -7.549 ns -57.13 ns -25.09 ns -24.82 ns -28.05 ns +O(1) +1000 +False +3.557 ns +6.841 ns +22.29 ns +5.896 ns +4.425 ns +7.549 ns +57.13 ns +25.09 ns +24.82 ns +28.05 ns ReadOnlyDictionary -O(1) -1000 -False -3.620 ns -8.961 ns -22.84 ns -7.707 ns -4.576 ns -9.805 ns -57.50 ns -27.76 ns -25.06 ns -31.49 ns +O(1) +1000 +False +3.620 ns +8.961 ns +22.84 ns +7.707 ns +4.576 ns +9.805 ns +57.50 ns +27.76 ns +25.06 ns +31.49 ns ImmutableDictionary -O(1) -1000 -False -6.936 ns -16.405 ns -25.33 ns -10.967 ns -7.573 ns -12.270 ns -62.08 ns -30.32 ns -25.81 ns -33.48 ns +O(1) +1000 +False +6.936 ns +16.405 ns +25.33 ns +10.967 ns +7.573 ns +12.270 ns +62.08 ns +30.32 ns +25.81 ns +33.48 ns ImmutableHashSet -O(1) -1000 -False -7.002 ns -26.570 ns -27.69 ns -24.802 ns -7.642 ns -24.816 ns -59.30 ns -40.72 ns -25.23 ns -42.86 ns +O(1) +1000 +False +7.002 ns +26.570 ns +27.69 ns +24.802 ns +7.642 ns +24.816 ns +59.30 ns +40.72 ns +25.23 ns +42.86 ns SortedSet -O(log(N)) -1000 -False -12.098 ns -307.629 ns -12.96 ns -40.534 ns -13.978 ns -42.957 ns -296.09 ns -318.67 ns -308.11 ns -317.64 ns +O(log(N)) +1000 +False +12.098 ns +307.629 ns +12.96 ns +40.534 ns +13.978 ns +42.957 ns +296.09 ns +318.67 ns +308.11 ns +317.64 ns SortedList -O(log(N)) -1000 -False -14.066 ns -322.710 ns -23.86 ns -46.525 ns -23.771 ns -46.912 ns -368.81 ns -327.96 ns -316.30 ns -336.31 ns +O(log(N)) +1000 +False +14.066 ns +322.710 ns +23.86 ns +46.525 ns +23.771 ns +46.912 ns +368.81 ns +327.96 ns +316.30 ns +336.31 ns Array (Sorted + BinarySearch) -O(log(N)) -1000 -False -15.108 ns -314.854 ns -18.93 ns -36.756 ns -18.674 ns -38.017 ns -294.83 ns -320.15 ns -329.15 ns -339.42 ns +O(log(N)) +1000 +False +15.108 ns +314.854 ns +18.93 ns +36.756 ns +18.674 ns +38.017 ns +294.83 ns +320.15 ns +329.15 ns +339.42 ns ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -False -15.658 ns -313.269 ns -19.19 ns -39.942 ns -18.848 ns -40.870 ns -304.61 ns -326.21 ns -302.08 ns -329.34 ns +O(log(N)) +1000 +False +15.658 ns +313.269 ns +19.19 ns +39.942 ns +18.848 ns +40.870 ns +304.61 ns +326.21 ns +302.08 ns +329.34 ns List (Sorted + BinarySearch) -O(log(N)) -1000 -False -19.406 ns -312.884 ns -19.17 ns -37.883 ns -19.021 ns -36.330 ns -298.54 ns -318.19 ns -346.24 ns -323.40 ns +O(log(N)) +1000 +False +19.406 ns +312.884 ns +19.17 ns +37.883 ns +19.021 ns +36.330 ns +298.54 ns +318.19 ns +346.24 ns +323.40 ns SortedDictionary -O(log(N)) -1000 -False -23.119 ns -361.296 ns -24.52 ns -63.056 ns -24.974 ns -62.616 ns -325.09 ns -364.69 ns -329.55 ns -351.50 ns +O(log(N)) +1000 +False +23.119 ns +361.296 ns +24.52 ns +63.056 ns +24.974 ns +62.616 ns +325.09 ns +364.69 ns +329.55 ns +351.50 ns ImmutableSortedDictionary -O(log(N)) -1000 -False -23.298 ns -330.652 ns -37.15 ns -50.695 ns -36.904 ns -53.115 ns -323.76 ns -332.48 ns -319.98 ns -331.05 ns +O(log(N)) +1000 +False +23.298 ns +330.652 ns +37.15 ns +50.695 ns +36.904 ns +53.115 ns +323.76 ns +332.48 ns +319.98 ns +331.05 ns ImmutableSortedSet -O(log(N)) -1000 -False -23.324 ns -323.908 ns -37.11 ns -52.178 ns -37.512 ns -52.308 ns -309.61 ns -333.72 ns -317.71 ns -328.30 ns +O(log(N)) +1000 +False +23.324 ns +323.908 ns +37.11 ns +52.178 ns +37.512 ns +52.308 ns +309.61 ns +333.72 ns +317.71 ns +328.30 ns ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -False -28.372 ns -356.776 ns -31.48 ns -77.122 ns -31.460 ns -77.621 ns -320.08 ns -366.50 ns -317.95 ns -360.58 ns +O(log(N)) +1000 +False +28.372 ns +356.776 ns +31.48 ns +77.122 ns +31.460 ns +77.621 ns +320.08 ns +366.50 ns +317.95 ns +360.58 ns List -O(N) -1000 -False -43.877 ns -3,747.693 ns -13,190.33 ns -1,734.703 ns -495.131 ns -2,750.610 ns -115,935.57 ns -4,067.15 ns -2,531.53 ns -4,809.68 ns +O(N) +1000 +False +43.877 ns +3,747.693 ns +13,190.33 ns +1,734.703 ns +495.131 ns +2,750.610 ns +115,935.57 ns +4,067.15 ns +2,531.53 ns +4,809.68 ns ReadOnlyCollection -O(N) -1000 -False -44.524 ns -2,851.432 ns -13,302.69 ns -773.154 ns -512.845 ns -1,981.269 ns -111,861.43 ns -791.51 ns -2,520.05 ns -4,265.90 ns +O(N) +1000 +False +44.524 ns +2,851.432 ns +13,302.69 ns +773.154 ns +512.845 ns +1,981.269 ns +111,861.43 ns +791.51 ns +2,520.05 ns +4,265.90 ns ImmutableArray -O(N) -1000 -False -68.765 ns -4,042.309 ns -13,202.27 ns -1,762.379 ns -493.708 ns -2,708.779 ns -109,484.52 ns -3,974.60 ns -2,730.36 ns -5,396.69 ns +O(N) +1000 +False +68.765 ns +4,042.309 ns +13,202.27 ns +1,762.379 ns +493.708 ns +2,708.779 ns +109,484.52 ns +3,974.60 ns +2,730.36 ns +5,396.69 ns Array -O(N) -1000 -False -70.900 ns -4,171.897 ns -12,463.03 ns -1,495.015 ns -484.841 ns -2,741.353 ns -116,172.02 ns -4,236.23 ns -2,848.28 ns -4,688.74 ns +O(N) +1000 +False +70.900 ns +4,171.897 ns +12,463.03 ns +1,495.015 ns +484.841 ns +2,741.353 ns +116,172.02 ns +4,236.23 ns +2,848.28 ns +4,688.74 ns @@ -378,357 +427,396 @@

Comparison: Mean

FrozenDictionary -O(1) -1000 -True -2.105 ns -4.987 ns -36.45 ns -7.667 ns -3.785 ns -8.955 ns -263.21 ns -27.90 ns -24.25 ns -29.58 ns +O(1) +1000 +True +2.105 ns +4.987 ns +36.45 ns +7.667 ns +3.785 ns +8.955 ns +263.21 ns +27.90 ns +24.25 ns +29.58 ns FrozenSet -O(1) -1000 -True -2.348 ns -4.452 ns -35.92 ns -7.293 ns -3.618 ns -9.076 ns -256.57 ns -27.47 ns -23.66 ns -30.00 ns +O(1) +1000 +True +2.348 ns +4.452 ns +35.92 ns +7.293 ns +3.618 ns +9.076 ns +256.57 ns +27.47 ns +23.66 ns +30.00 ns HashSet -O(1) -1000 -True -3.854 ns -8.720 ns -39.24 ns -9.332 ns -4.911 ns -11.447 ns -271.87 ns -30.39 ns -27.57 ns -31.74 ns +O(1) +1000 +True +3.854 ns +8.720 ns +39.24 ns +9.332 ns +4.911 ns +11.447 ns +271.87 ns +30.39 ns +27.57 ns +31.74 ns Dictionary -O(1) -1000 -True -3.885 ns -8.825 ns -41.99 ns -10.268 ns -4.986 ns -11.259 ns -276.13 ns -29.96 ns -26.85 ns -32.38 ns +O(1) +1000 +True +3.885 ns +8.825 ns +41.99 ns +10.268 ns +4.986 ns +11.259 ns +276.13 ns +29.96 ns +26.85 ns +32.38 ns ReadOnlyDictionary -O(1) -1000 -True -4.289 ns -11.300 ns -40.91 ns -11.855 ns -5.399 ns -13.506 ns -266.99 ns -32.11 ns -27.11 ns -34.29 ns +O(1) +1000 +True +4.289 ns +11.300 ns +40.91 ns +11.855 ns +5.399 ns +13.506 ns +266.99 ns +32.11 ns +27.11 ns +34.29 ns ImmutableDictionary -O(1) -1000 -True -6.075 ns -21.104 ns -40.29 ns -17.843 ns -7.904 ns -18.264 ns -289.31 ns -34.77 ns -32.56 ns -37.16 ns +O(1) +1000 +True +6.075 ns +21.104 ns +40.29 ns +17.843 ns +7.904 ns +18.264 ns +289.31 ns +34.77 ns +32.56 ns +37.16 ns ImmutableHashSet -O(1) -1000 -True -6.100 ns -28.374 ns -41.37 ns -28.555 ns -7.693 ns -27.320 ns -280.04 ns -45.61 ns -26.00 ns -46.25 ns +O(1) +1000 +True +6.100 ns +28.374 ns +41.37 ns +28.555 ns +7.693 ns +27.320 ns +280.04 ns +45.61 ns +26.00 ns +46.25 ns SortedSet -O(log(N)) -1000 -True -11.001 ns -272.019 ns -17.81 ns -37.702 ns -17.640 ns -39.288 ns -247.00 ns -266.93 ns -254.76 ns -267.18 ns +O(log(N)) +1000 +True +11.001 ns +272.019 ns +17.81 ns +37.702 ns +17.640 ns +39.288 ns +247.00 ns +266.93 ns +254.76 ns +267.18 ns ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -True -13.082 ns -267.570 ns -20.27 ns -39.211 ns -20.637 ns -39.000 ns -230.65 ns -246.53 ns -228.03 ns -252.85 ns +O(log(N)) +1000 +True +13.082 ns +267.570 ns +20.27 ns +39.211 ns +20.637 ns +39.000 ns +230.65 ns +246.53 ns +228.03 ns +252.85 ns Array (Sorted + BinarySearch) -O(log(N)) -1000 -True -13.183 ns -268.204 ns -20.24 ns -36.618 ns -20.843 ns -37.091 ns -221.92 ns -247.97 ns -226.55 ns -244.25 ns +O(log(N)) +1000 +True +13.183 ns +268.204 ns +20.24 ns +36.618 ns +20.843 ns +37.091 ns +221.92 ns +247.97 ns +226.55 ns +244.25 ns SortedList -O(log(N)) -1000 -True -14.344 ns -271.979 ns -25.58 ns -43.436 ns -26.691 ns -43.424 ns -252.39 ns -259.50 ns -240.87 ns -252.07 ns +O(log(N)) +1000 +True +14.344 ns +271.979 ns +25.58 ns +43.436 ns +26.691 ns +43.424 ns +252.39 ns +259.50 ns +240.87 ns +252.07 ns List (Sorted + BinarySearch) -O(log(N)) -1000 -True -14.669 ns -266.752 ns -20.60 ns -37.077 ns -20.606 ns -36.491 ns -224.35 ns -252.79 ns -228.34 ns -278.04 ns +O(log(N)) +1000 +True +14.669 ns +266.752 ns +20.60 ns +37.077 ns +20.606 ns +36.491 ns +224.35 ns +252.79 ns +228.34 ns +278.04 ns SortedDictionary -O(log(N)) -1000 -True -16.904 ns -280.641 ns -24.90 ns -58.380 ns -27.407 ns -58.743 ns -282.88 ns -278.50 ns -276.39 ns -282.38 ns +O(log(N)) +1000 +True +16.904 ns +280.641 ns +24.90 ns +58.380 ns +27.407 ns +58.743 ns +282.88 ns +278.50 ns +276.39 ns +282.38 ns ImmutableSortedDictionary -O(log(N)) -1000 -True -18.442 ns -241.350 ns -29.41 ns -42.858 ns -27.080 ns -42.221 ns -248.20 ns -290.57 ns -243.17 ns -268.77 ns +O(log(N)) +1000 +True +18.442 ns +241.350 ns +29.41 ns +42.858 ns +27.080 ns +42.221 ns +248.20 ns +290.57 ns +243.17 ns +268.77 ns ImmutableSortedSet -O(log(N)) -1000 -True -18.480 ns -248.392 ns -29.56 ns -41.586 ns -29.574 ns -42.081 ns -241.52 ns -253.33 ns -244.96 ns -259.55 ns +O(log(N)) +1000 +True +18.480 ns +248.392 ns +29.56 ns +41.586 ns +29.574 ns +42.081 ns +241.52 ns +253.33 ns +244.96 ns +259.55 ns ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -True -24.008 ns -264.561 ns -27.15 ns -64.249 ns -27.141 ns -64.700 ns -275.92 ns -290.76 ns -247.42 ns -281.55 ns +O(log(N)) +1000 +True +24.008 ns +264.561 ns +27.15 ns +64.249 ns +27.141 ns +64.700 ns +275.92 ns +290.76 ns +247.42 ns +281.55 ns List -O(N) -1000 -True -29.495 ns -1,836.948 ns -6,377.23 ns -841.805 ns -252.419 ns -1,315.648 ns -52,441.47 ns -1,995.30 ns -1,336.23 ns -2,511.55 ns +O(N) +1000 +True +29.495 ns +1,836.948 ns +6,377.23 ns +841.805 ns +252.419 ns +1,315.648 ns +52,441.47 ns +1,995.30 ns +1,336.23 ns +2,511.55 ns Array -O(N) -1000 -True -30.105 ns -1,838.527 ns -6,322.55 ns -722.915 ns -255.642 ns -1,314.054 ns -52,394.98 ns -1,930.61 ns -1,336.30 ns -2,276.44 ns +O(N) +1000 +True +30.105 ns +1,838.527 ns +6,322.55 ns +722.915 ns +255.642 ns +1,314.054 ns +52,394.98 ns +1,930.61 ns +1,336.30 ns +2,276.44 ns ReadOnlyCollection -O(N) -1000 -True -30.159 ns -1,392.430 ns -6,487.09 ns -378.222 ns -253.197 ns -956.827 ns -53,566.95 ns -392.40 ns -1,562.09 ns -1,961.72 ns +O(N) +1000 +True +30.159 ns +1,392.430 ns +6,487.09 ns +378.222 ns +253.197 ns +956.827 ns +53,566.95 ns +392.40 ns +1,562.09 ns +1,961.72 ns ImmutableArray -O(N) -1000 -True -30.334 ns -1,869.762 ns -6,373.33 ns -850.812 ns -257.205 ns -1,309.247 ns -56,109.08 ns -1,914.95 ns -1,450.75 ns -2,320.26 ns +O(N) +1000 +True +30.334 ns +1,869.762 ns +6,373.33 ns +850.812 ns +257.205 ns +1,309.247 ns +56,109.08 ns +1,914.95 ns +1,450.75 ns +2,320.26 ns - + + + - \ No newline at end of file diff --git a/docs/Benchmark-SearchContains-Mean.png b/docs/Benchmark-SearchContains-Mean.png index 6404e64..e79f155 100644 Binary files a/docs/Benchmark-SearchContains-Mean.png and b/docs/Benchmark-SearchContains-Mean.png differ diff --git a/docs/Benchmark-SearchContains-Mean.webp b/docs/Benchmark-SearchContains-Mean.webp index 7cf2d57..ee7f8bd 100644 Binary files a/docs/Benchmark-SearchContains-Mean.webp and b/docs/Benchmark-SearchContains-Mean.webp differ diff --git a/docs/Benchmark-SearchTryGetValue-Allocated.html b/docs/Benchmark-SearchTryGetValue-Allocated.html index ef3c13c..be6853a 100644 --- a/docs/Benchmark-SearchTryGetValue-Allocated.html +++ b/docs/Benchmark-SearchTryGetValue-Allocated.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Searching (TryGetValue method) in terms of Allocation Size + + + - - - - +

Benchmark of Collection Searching (TryGetValue method) in terms of Allocation Size

 
@@ -48,324 +97,324 @@ 

Comparison: Allocated

-List (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- - - Array (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -SortedSet -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +ImmutableList (Sorted + BinarySearch) +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -ImmutableSortedSet -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +ImmutableSortedDictionary +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -ImmutableSortedDictionary -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +ImmutableSortedSet +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -False -- -- -- -- -- -- -- -- -- -- +List (Sorted + BinarySearch) +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- -FrozenDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +SortedSet +O(log(N)) +1000 +False +- +- +- +- +- +- +- +- +- +- Dictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -HashSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +FrozenDictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- FrozenSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -ReadOnlyDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +HashSet +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -ImmutableHashSet -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +ImmutableDictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -ImmutableDictionary -O(1) -1000 -False -- -- -32 B -- -- -- -40 B -- -- -- +ImmutableHashSet +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- -SortedList -O(log(N)) -1000 -False -- -- -32 B -- -32 B -- -40 B -- -40 B -- +ReadOnlyDictionary +O(1) +1000 +False +- +- +32 B +- +- +- +40 B +- +- +- SortedDictionary -O(log(N)) -1000 -False -- -- -32 B -- -32 B -- -40 B -- -40 B -- +O(log(N)) +1000 +False +- +- +32 B +- +32 B +- +40 B +- +40 B +- + + +SortedList +O(log(N)) +1000 +False +- +- +32 B +- +32 B +- +40 B +- +40 B +- ReadOnlyCollection -O(N) -1000 -False -- -- -64000 B -- -- -- -128000 B -- -- -- +O(N) +1000 +False +- +- +64000 B +- +- +- +128000 B +- +- +- -ImmutableArray -O(N) -1000 -False -- -- -64000 B -- -- -- -128001 B -- -- -- +Array +O(N) +1000 +False +- +- +64000 B +- +- +- +128001 B +- +- +- -List -O(N) -1000 -False -- -- -64000 B -- -- -- -128001 B -- -- -- +ImmutableArray +O(N) +1000 +False +- +- +64000 B +- +- +- +128001 B +- +- +- -Array -O(N) -1000 -False -- -- -64000 B -- -- -- -128001 B -- -- -- +List +O(N) +1000 +False +- +- +64000 B +- +- +- +128001 B +- +- +- @@ -377,358 +426,397 @@

Comparison: Allocated

-List (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +Array (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -Array (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +ImmutableList (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- + + +ImmutableSortedDictionary +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- ImmutableSortedSet -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -SortedSet -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +List (Sorted + BinarySearch) +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -ImmutableSortedDictionary -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +SortedSet +O(log(N)) +1000 +True +- +- +- +- +- +- +- +- +- +- -ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -True -- -- -- -- -- -- -- -- -- -- +SortedDictionary +O(log(N)) +1000 +True +- +- +32 B +- +32 B +- +40 B +- +40 B +- SortedList -O(log(N)) -1000 -True -- -- -32 B -- -32 B -- -40 B -- -40 B -- +O(log(N)) +1000 +True +- +- +32 B +- +32 B +- +40 B +- +40 B +- -SortedDictionary -O(log(N)) -1000 -True -- -- -32 B -- -32 B -- -40 B -- -40 B -- +Dictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- FrozenDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -Dictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +FrozenSet +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- HashSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -ReadOnlyDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- - - -FrozenSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +ImmutableDictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- ImmutableHashSet -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -ImmutableDictionary -O(1) -1000 -True -- -- -96 B -- -- -- -168 B -- -- -- +ReadOnlyDictionary +O(1) +1000 +True +- +- +96 B +- +- +- +168 B +- +- +- -ReadOnlyCollection -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +Array +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- -List -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +ImmutableArray +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- -Array -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +List +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- -ImmutableArray -O(N) -1000 -True -- -- -30901 B -- -- -- -61441 B -- -- -- +ReadOnlyCollection +O(N) +1000 +True +- +- +30901 B +- +- +- +61441 B +- +- +- - + + + - \ No newline at end of file diff --git a/docs/Benchmark-SearchTryGetValue-Allocated.png b/docs/Benchmark-SearchTryGetValue-Allocated.png index 1a56e97..c3f0f7a 100644 Binary files a/docs/Benchmark-SearchTryGetValue-Allocated.png and b/docs/Benchmark-SearchTryGetValue-Allocated.png differ diff --git a/docs/Benchmark-SearchTryGetValue-Allocated.webp b/docs/Benchmark-SearchTryGetValue-Allocated.webp index 88d663f..6452474 100644 Binary files a/docs/Benchmark-SearchTryGetValue-Allocated.webp and b/docs/Benchmark-SearchTryGetValue-Allocated.webp differ diff --git a/docs/Benchmark-SearchTryGetValue-Mean.html b/docs/Benchmark-SearchTryGetValue-Mean.html index ee83ea8..22c8ef0 100644 --- a/docs/Benchmark-SearchTryGetValue-Mean.html +++ b/docs/Benchmark-SearchTryGetValue-Mean.html @@ -1,32 +1,81 @@ - + + Benchmark of Collection Searching (TryGetValue method) in terms of Execution Time (Mean) + + + - - - - +

Benchmark of Collection Searching (TryGetValue method) in terms of Execution Time (Mean)

 
@@ -49,323 +98,323 @@ 

Comparison: Mean

FrozenSet -O(1) -1000 -False -2.017 ns -6.279 ns -20.44 ns -7.170 ns -2.770 ns -8.372 ns -55.73 ns -26.46 ns -22.32 ns -29.70 ns +O(1) +1000 +False +2.017 ns +6.279 ns +20.44 ns +7.170 ns +2.770 ns +8.372 ns +55.73 ns +26.46 ns +22.32 ns +29.70 ns FrozenDictionary -O(1) -1000 -False -2.030 ns -4.421 ns -19.79 ns -3.893 ns -2.496 ns -5.194 ns -56.43 ns -23.98 ns -22.38 ns -26.36 ns +O(1) +1000 +False +2.030 ns +4.421 ns +19.79 ns +3.893 ns +2.496 ns +5.194 ns +56.43 ns +23.98 ns +22.38 ns +26.36 ns Dictionary -O(1) -1000 -False -3.391 ns -7.095 ns -19.37 ns -5.800 ns -2.594 ns -7.600 ns -51.74 ns -26.80 ns -22.39 ns -28.87 ns +O(1) +1000 +False +3.391 ns +7.095 ns +19.37 ns +5.800 ns +2.594 ns +7.600 ns +51.74 ns +26.80 ns +22.39 ns +28.87 ns ReadOnlyDictionary -O(1) -1000 -False -3.455 ns -9.358 ns -33.32 ns -8.227 ns -4.541 ns -10.164 ns -64.18 ns -27.73 ns -24.38 ns -30.32 ns +O(1) +1000 +False +3.455 ns +9.358 ns +33.32 ns +8.227 ns +4.541 ns +10.164 ns +64.18 ns +27.73 ns +24.38 ns +30.32 ns HashSet -O(1) -1000 -False -3.481 ns -7.151 ns -22.08 ns -6.058 ns -4.426 ns -7.548 ns -57.58 ns -26.76 ns -24.29 ns -28.78 ns +O(1) +1000 +False +3.481 ns +7.151 ns +22.08 ns +6.058 ns +4.426 ns +7.548 ns +57.58 ns +26.76 ns +24.29 ns +28.78 ns ImmutableDictionary -O(1) -1000 -False -7.248 ns -16.466 ns -26.32 ns -11.503 ns -7.737 ns -12.672 ns -62.28 ns -30.47 ns -25.24 ns -33.59 ns +O(1) +1000 +False +7.248 ns +16.466 ns +26.32 ns +11.503 ns +7.737 ns +12.672 ns +62.28 ns +30.47 ns +25.24 ns +33.59 ns ImmutableHashSet -O(1) -1000 -False -7.340 ns -15.515 ns -27.27 ns -10.564 ns -7.797 ns -12.355 ns -60.33 ns -30.72 ns -25.47 ns -33.02 ns +O(1) +1000 +False +7.340 ns +15.515 ns +27.27 ns +10.564 ns +7.797 ns +12.355 ns +60.33 ns +30.72 ns +25.47 ns +33.02 ns SortedSet -O(log(N)) -1000 -False -11.367 ns -303.085 ns -12.72 ns -42.620 ns -12.721 ns -42.326 ns -295.38 ns -321.25 ns -297.21 ns -325.54 ns +O(log(N)) +1000 +False +11.367 ns +303.085 ns +12.72 ns +42.620 ns +12.721 ns +42.326 ns +295.38 ns +321.25 ns +297.21 ns +325.54 ns List (Sorted + BinarySearch) -O(log(N)) -1000 -False -14.998 ns -353.234 ns -19.01 ns -36.647 ns -19.119 ns -35.829 ns -312.10 ns -323.10 ns -307.28 ns -334.64 ns +O(log(N)) +1000 +False +14.998 ns +353.234 ns +19.01 ns +36.647 ns +19.119 ns +35.829 ns +312.10 ns +323.10 ns +307.28 ns +334.64 ns Array (Sorted + BinarySearch) -O(log(N)) -1000 -False -15.383 ns -311.216 ns -19.36 ns -37.925 ns -18.860 ns -38.351 ns -299.34 ns -336.69 ns -292.68 ns -340.86 ns +O(log(N)) +1000 +False +15.383 ns +311.216 ns +19.36 ns +37.925 ns +18.860 ns +38.351 ns +299.34 ns +336.69 ns +292.68 ns +340.86 ns ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -False -15.764 ns -321.109 ns -19.09 ns -39.116 ns -19.021 ns -37.963 ns -293.73 ns -337.24 ns -311.06 ns -332.00 ns +O(log(N)) +1000 +False +15.764 ns +321.109 ns +19.09 ns +39.116 ns +19.021 ns +37.963 ns +293.73 ns +337.24 ns +311.06 ns +332.00 ns SortedList -O(log(N)) -1000 -False -16.714 ns -319.730 ns -23.61 ns -48.149 ns -23.539 ns -45.018 ns -310.73 ns -335.78 ns -311.69 ns -350.56 ns +O(log(N)) +1000 +False +16.714 ns +319.730 ns +23.61 ns +48.149 ns +23.539 ns +45.018 ns +310.73 ns +335.78 ns +311.69 ns +350.56 ns SortedDictionary -O(log(N)) -1000 -False -19.917 ns -358.193 ns -27.48 ns -60.603 ns -24.387 ns -60.654 ns -325.09 ns -362.20 ns -329.71 ns -356.53 ns +O(log(N)) +1000 +False +19.917 ns +358.193 ns +27.48 ns +60.603 ns +24.387 ns +60.654 ns +325.09 ns +362.20 ns +329.71 ns +356.53 ns ImmutableSortedDictionary -O(log(N)) -1000 -False -23.368 ns -323.934 ns -36.37 ns -52.262 ns -36.601 ns -51.219 ns -351.23 ns -338.19 ns -310.22 ns -338.98 ns +O(log(N)) +1000 +False +23.368 ns +323.934 ns +36.37 ns +52.262 ns +36.601 ns +51.219 ns +351.23 ns +338.19 ns +310.22 ns +338.98 ns ImmutableSortedSet -O(log(N)) -1000 -False -24.754 ns -336.183 ns -36.35 ns -48.278 ns -37.911 ns -48.499 ns -310.70 ns -362.93 ns -309.88 ns -339.99 ns +O(log(N)) +1000 +False +24.754 ns +336.183 ns +36.35 ns +48.278 ns +37.911 ns +48.499 ns +310.70 ns +362.93 ns +309.88 ns +339.99 ns ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -False -28.555 ns -357.601 ns -36.04 ns -79.511 ns -32.269 ns -77.948 ns -343.91 ns -380.81 ns -310.73 ns -363.58 ns +O(log(N)) +1000 +False +28.555 ns +357.601 ns +36.04 ns +79.511 ns +32.269 ns +77.948 ns +343.91 ns +380.81 ns +310.73 ns +363.58 ns Array -O(N) -1000 -False -41.027 ns -4,006.808 ns -12,541.77 ns -1,736.114 ns -502.378 ns -2,684.823 ns -108,295.13 ns -4,278.42 ns -3,002.75 ns -4,876.45 ns +O(N) +1000 +False +41.027 ns +4,006.808 ns +12,541.77 ns +1,736.114 ns +502.378 ns +2,684.823 ns +108,295.13 ns +4,278.42 ns +3,002.75 ns +4,876.45 ns ReadOnlyCollection -O(N) -1000 -False -42.841 ns -3,005.547 ns -12,254.54 ns -773.975 ns -513.425 ns -1,975.733 ns -118,003.93 ns -806.45 ns -2,721.37 ns -4,492.43 ns +O(N) +1000 +False +42.841 ns +3,005.547 ns +12,254.54 ns +773.975 ns +513.425 ns +1,975.733 ns +118,003.93 ns +806.45 ns +2,721.37 ns +4,492.43 ns List -O(N) -1000 -False -42.976 ns -4,002.468 ns -12,764.38 ns -1,508.505 ns -491.131 ns -2,788.096 ns -112,553.83 ns -4,405.76 ns -2,432.59 ns -4,918.19 ns +O(N) +1000 +False +42.976 ns +4,002.468 ns +12,764.38 ns +1,508.505 ns +491.131 ns +2,788.096 ns +112,553.83 ns +4,405.76 ns +2,432.59 ns +4,918.19 ns ImmutableArray -O(N) -1000 -False -68.369 ns -3,938.770 ns -12,889.71 ns -1,504.838 ns -505.744 ns -2,686.475 ns -111,003.80 ns -4,104.14 ns -2,706.27 ns -4,864.75 ns +O(N) +1000 +False +68.369 ns +3,938.770 ns +12,889.71 ns +1,504.838 ns +505.744 ns +2,686.475 ns +111,003.80 ns +4,104.14 ns +2,706.27 ns +4,864.75 ns @@ -378,357 +427,396 @@

Comparison: Mean

FrozenDictionary -O(1) -1000 -True -2.095 ns -4.857 ns -34.89 ns -7.734 ns -3.898 ns -9.072 ns -278.40 ns -27.86 ns -23.84 ns -29.57 ns +O(1) +1000 +True +2.095 ns +4.857 ns +34.89 ns +7.734 ns +3.898 ns +9.072 ns +278.40 ns +27.86 ns +23.84 ns +29.57 ns FrozenSet -O(1) -1000 -True -2.394 ns -10.957 ns -45.59 ns -13.617 ns -4.049 ns -15.024 ns -277.42 ns -33.70 ns -24.57 ns -35.91 ns +O(1) +1000 +True +2.394 ns +10.957 ns +45.59 ns +13.617 ns +4.049 ns +15.024 ns +277.42 ns +33.70 ns +24.57 ns +35.91 ns HashSet -O(1) -1000 -True -2.853 ns -9.021 ns -36.13 ns -9.552 ns -3.997 ns -11.522 ns -271.28 ns -30.82 ns -25.17 ns -32.48 ns +O(1) +1000 +True +2.853 ns +9.021 ns +36.13 ns +9.552 ns +3.997 ns +11.522 ns +271.28 ns +30.82 ns +25.17 ns +32.48 ns Dictionary -O(1) -1000 -True -4.085 ns -8.973 ns -35.81 ns -9.370 ns -3.575 ns -10.990 ns -269.36 ns -30.29 ns -24.77 ns -32.05 ns +O(1) +1000 +True +4.085 ns +8.973 ns +35.81 ns +9.370 ns +3.575 ns +10.990 ns +269.36 ns +30.29 ns +24.77 ns +32.05 ns ReadOnlyDictionary -O(1) -1000 -True -4.432 ns -11.229 ns -39.45 ns -12.288 ns -5.672 ns -14.022 ns -267.79 ns -33.20 ns -27.13 ns -34.84 ns +O(1) +1000 +True +4.432 ns +11.229 ns +39.45 ns +12.288 ns +5.672 ns +14.022 ns +267.79 ns +33.20 ns +27.13 ns +34.84 ns ImmutableDictionary -O(1) -1000 -True -6.307 ns -20.911 ns -40.20 ns -17.573 ns -7.762 ns -18.683 ns -286.65 ns -35.85 ns -26.29 ns -38.15 ns +O(1) +1000 +True +6.307 ns +20.911 ns +40.20 ns +17.573 ns +7.762 ns +18.683 ns +286.65 ns +35.85 ns +26.29 ns +38.15 ns ImmutableHashSet -O(1) -1000 -True -6.315 ns -19.697 ns -39.89 ns -15.310 ns -7.407 ns -17.343 ns -279.63 ns -34.40 ns -26.31 ns -37.07 ns +O(1) +1000 +True +6.315 ns +19.697 ns +39.89 ns +15.310 ns +7.407 ns +17.343 ns +279.63 ns +34.40 ns +26.31 ns +37.07 ns SortedSet -O(log(N)) -1000 -True -12.824 ns -289.570 ns -18.54 ns -39.951 ns -18.607 ns -41.549 ns -246.11 ns -271.12 ns -244.64 ns -288.70 ns +O(log(N)) +1000 +True +12.824 ns +289.570 ns +18.54 ns +39.951 ns +18.607 ns +41.549 ns +246.11 ns +271.12 ns +244.64 ns +288.70 ns ImmutableArray (Sorted + BinarySearch) -O(log(N)) -1000 -True -13.101 ns -265.289 ns -20.32 ns -38.523 ns -20.234 ns -38.337 ns -225.38 ns -287.29 ns -223.43 ns -283.93 ns +O(log(N)) +1000 +True +13.101 ns +265.289 ns +20.32 ns +38.523 ns +20.234 ns +38.337 ns +225.38 ns +287.29 ns +223.43 ns +283.93 ns Array (Sorted + BinarySearch) -O(log(N)) -1000 -True -13.181 ns -264.543 ns -20.34 ns -39.157 ns -20.193 ns -38.776 ns -222.51 ns -284.16 ns -230.00 ns -265.16 ns +O(log(N)) +1000 +True +13.181 ns +264.543 ns +20.34 ns +39.157 ns +20.193 ns +38.776 ns +222.51 ns +284.16 ns +230.00 ns +265.16 ns SortedList -O(log(N)) -1000 -True -13.182 ns -270.004 ns -26.04 ns -43.552 ns -26.215 ns -42.708 ns -237.37 ns -266.62 ns -237.11 ns -260.66 ns +O(log(N)) +1000 +True +13.182 ns +270.004 ns +26.04 ns +43.552 ns +26.215 ns +42.708 ns +237.37 ns +266.62 ns +237.11 ns +260.66 ns List (Sorted + BinarySearch) -O(log(N)) -1000 -True -13.594 ns -264.359 ns -20.60 ns -36.386 ns -20.436 ns -36.092 ns -247.74 ns -279.69 ns -220.86 ns -278.72 ns +O(log(N)) +1000 +True +13.594 ns +264.359 ns +20.60 ns +36.386 ns +20.436 ns +36.092 ns +247.74 ns +279.69 ns +220.86 ns +278.72 ns ImmutableSortedDictionary -O(log(N)) -1000 -True -18.594 ns -237.537 ns -26.37 ns -42.528 ns -28.917 ns -41.881 ns -243.21 ns -260.24 ns -249.12 ns -266.12 ns +O(log(N)) +1000 +True +18.594 ns +237.537 ns +26.37 ns +42.528 ns +28.917 ns +41.881 ns +243.21 ns +260.24 ns +249.12 ns +266.12 ns ImmutableSortedSet -O(log(N)) -1000 -True -18.637 ns -245.379 ns -29.35 ns -39.679 ns -30.016 ns -39.638 ns -239.16 ns -259.80 ns -238.64 ns -259.17 ns +O(log(N)) +1000 +True +18.637 ns +245.379 ns +29.35 ns +39.679 ns +30.016 ns +39.638 ns +239.16 ns +259.80 ns +238.64 ns +259.17 ns SortedDictionary -O(log(N)) -1000 -True -19.448 ns -281.324 ns -27.64 ns -59.154 ns -25.049 ns -58.112 ns -258.40 ns -323.84 ns -265.08 ns -292.27 ns +O(log(N)) +1000 +True +19.448 ns +281.324 ns +27.64 ns +59.154 ns +25.049 ns +58.112 ns +258.40 ns +323.84 ns +265.08 ns +292.27 ns ImmutableList (Sorted + BinarySearch) -O(log(N)) -1000 -True -27.142 ns -268.966 ns -31.13 ns -68.583 ns -31.714 ns -68.878 ns -249.16 ns -289.97 ns -244.42 ns -294.36 ns +O(log(N)) +1000 +True +27.142 ns +268.966 ns +31.13 ns +68.583 ns +31.714 ns +68.878 ns +249.16 ns +289.97 ns +244.42 ns +294.36 ns Array -O(N) -1000 -True -28.672 ns -1,831.162 ns -6,261.18 ns -841.566 ns -253.309 ns -1,312.305 ns -52,177.49 ns -2,075.47 ns -1,293.04 ns -2,295.45 ns +O(N) +1000 +True +28.672 ns +1,831.162 ns +6,261.18 ns +841.566 ns +253.309 ns +1,312.305 ns +52,177.49 ns +2,075.47 ns +1,293.04 ns +2,295.45 ns List -O(N) -1000 -True -29.101 ns -1,826.351 ns -6,091.29 ns -726.899 ns -253.244 ns -1,293.321 ns -55,667.07 ns -1,956.09 ns -1,409.63 ns -2,321.20 ns +O(N) +1000 +True +29.101 ns +1,826.351 ns +6,091.29 ns +726.899 ns +253.244 ns +1,293.321 ns +55,667.07 ns +1,956.09 ns +1,409.63 ns +2,321.20 ns ImmutableArray -O(N) -1000 -True -30.060 ns -1,789.514 ns -6,350.76 ns -852.207 ns -252.977 ns -1,315.318 ns -53,316.98 ns -1,983.68 ns -1,326.56 ns -2,408.86 ns +O(N) +1000 +True +30.060 ns +1,789.514 ns +6,350.76 ns +852.207 ns +252.977 ns +1,315.318 ns +53,316.98 ns +1,983.68 ns +1,326.56 ns +2,408.86 ns ReadOnlyCollection -O(N) -1000 -True -32.001 ns -1,435.280 ns -6,179.42 ns -265.686 ns -254.999 ns -955.457 ns -53,090.26 ns -326.04 ns -1,418.92 ns -2,153.06 ns +O(N) +1000 +True +32.001 ns +1,435.280 ns +6,179.42 ns +265.686 ns +254.999 ns +955.457 ns +53,090.26 ns +326.04 ns +1,418.92 ns +2,153.06 ns - + + + - \ No newline at end of file diff --git a/docs/Benchmark-SearchTryGetValue-Mean.png b/docs/Benchmark-SearchTryGetValue-Mean.png index 7bdbf5c..851a8a4 100644 Binary files a/docs/Benchmark-SearchTryGetValue-Mean.png and b/docs/Benchmark-SearchTryGetValue-Mean.png differ diff --git a/docs/Benchmark-SearchTryGetValue-Mean.webp b/docs/Benchmark-SearchTryGetValue-Mean.webp index 879113d..adac114 100644 Binary files a/docs/Benchmark-SearchTryGetValue-Mean.webp and b/docs/Benchmark-SearchTryGetValue-Mean.webp differ diff --git a/docs/index.html b/docs/index.html index ce45b7d..2f88aff 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,8 +1,6 @@ - - @@ -19,7 +17,6 @@ img { max-width: 100%; } -