# Performance Comparison: Containers
> **<span style="color:red">This file is auto-generated</span>**
>
> All measurments were taken on Intel(R) Core(TM) i9-9900KS CPU @ 4.00GHz with 16 logical cores.<br/>
> Unity Editor version: 2022.3.6f1<br/>
> To regenerate this file locally use: **DOTS -> Unity.Collections -> Generate ***** menu.<br/>
## Table of Contents
- [Benchmark Results](#benchmark-results)
- [HashMap](#hashmap)
- [HashSet](#hashset)
- [List](#list)
- [ParallelHashMap](#parallelhashmap)
- [ParallelHashSet](#parallelhashset)
- [QueueParallelWriter](#queueparallelwriter)
- [Queue](#queue)
- [RingQueue](#ringqueue)
## Benchmark Results
The **Median of 10 sample sets** is compared against the baseline on the far right side of the table.<br/>Multithreaded benchmarks divide the processing amongst the specified number of workers.<br/>5 extra sample sets are run as warmup.<br/>
<br/>
> **Legend**
>
> `(S)` = Safety Enabled<br/>
> `(B)` = Burst Compiled *with Safety Disabled*<br/>
> `(S+B)` = Burst Compiled *with Safety Enabled*<br/>
> `(BCL)` = Base Class Library implementation (such as provided by Mono or .NET)<br/>
> <br/>
> *`italic`* results are for benchmarking comparison only; these are not included in standard Performance Framework tests<br/>
<br/>
### *HashMap*
| Functionality | NativeHashMap (S) | NativeHashMap (S+B) | NativeHashMap (B) | UnsafeHashMap (S) | UnsafeHashMap (S+B) | UnsafeHashMap (B) | *Dictionary (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(0)`*ยน* | 0.342ms <span style="color:red">(0.4x)</span> ๐ | 0.111ms <span style="color:green">(1.1x)</span> | 0.133ms <span style="color:red">(0.9x)</span> | 0.221ms <span style="color:red">(0.5x)</span> | 0.105ms <span style="color:green">(1.1x)</span> ๐ข | 0.106ms <span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `IsEmpty_x_100k(100)`*ยน* | 0.342ms <span style="color:red">(0.4x)</span> ๐ | 0.112ms <span style="color:green">(1.1x)</span> | 0.133ms <span style="color:red">(0.9x)</span> | 0.221ms <span style="color:red">(0.5x)</span> | 0.106ms <span style="color:green">(1.1x)</span> | 0.106ms <span style="color:green">(1.1x)</span> ๐ข | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(0)`*ยน* | 0.261ms <span style="color:red">(0.5x)</span> ๐ | 0.142ms <span style="color:red">(0.8x)</span> | 0.108ms <span style="color:green">(1.1x)</span> ๐ข | 0.120ms <span style="color:grey">(1.0x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(100)`*ยน* | 0.261ms <span style="color:red">(0.5x)</span> ๐ | 0.142ms <span style="color:red">(0.8x)</span> | 0.111ms <span style="color:green">(1.1x)</span> ๐ข | 0.120ms <span style="color:grey">(1.0x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArrayKeys(10000)` | 0.151ms <span style="color:red">(0.1x)</span> | 0.126ms <span style="color:red">(0.1x)</span> | 0.092ms <span style="color:red">(0.2x)</span> | 0.159ms <span style="color:red">(0.1x)</span> ๐ | 0.125ms <span style="color:red">(0.1x)</span> | 0.083ms <span style="color:red">(0.2x)</span> | *0.018ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `ToNativeArrayKeys(100000)` | 1.659ms <span style="color:red">(0.1x)</span> ๐ | 1.214ms <span style="color:red">(0.1x)</span> | 0.918ms <span style="color:red">(0.2x)</span> | 1.610ms <span style="color:red">(0.1x)</span> | 1.205ms <span style="color:red">(0.1x)</span> | 0.908ms <span style="color:red">(0.2x)</span> | *0.174ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `ToNativeArrayKeys(1000000)` | 21.689ms <span style="color:red">(0.1x)</span> ๐ | 13.624ms <span style="color:red">(0.2x)</span> | 10.721ms <span style="color:red">(0.2x)</span> | 19.842ms <span style="color:red">(0.1x)</span> | 13.505ms <span style="color:red">(0.2x)</span> | 10.569ms <span style="color:red">(0.2x)</span> | *2.059ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `ToNativeArrayValues(10000)` | 0.160ms <span style="color:red">(0.1x)</span> | 0.118ms <span style="color:red">(0.2x)</span> | 0.086ms <span style="color:red">(0.2x)</span> | 0.161ms <span style="color:red">(0.1x)</span> ๐ | 0.125ms <span style="color:red">(0.1x)</span> | 0.084ms <span style="color:red">(0.2x)</span> | *0.018ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `ToNativeArrayValues(100000)` | 1.702ms <span style="color:red">(0.1x)</span> | 1.192ms <span style="color:red">(0.1x)</span> | 0.935ms <span style="color:red">(0.2x)</span> | 1.721ms <span style="color:red">(0.1x)</span> ๐ | 1.196ms <span style="color:red">(0.1x)</span> | 0.919ms <span style="color:red">(0.2x)</span> | *0.173ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `ToNativeArrayValues(1000000)` | 20.402ms <span style="color:red">(0.1x)</span> | 13.609ms <span style="color:red">(0.1x)</span> | 11.017ms <span style="color:red">(0.2x)</span> | 20.556ms <span style="color:red">(0.1x)</span> ๐ | 13.773ms <span style="color:red">(0.1x)</span> | 10.869ms <span style="color:red">(0.2x)</span> | *2.018ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Insert(10000)` | 0.135ms <span style="color:green">(1.3x)</span> | 0.070ms <span style="color:green">(2.5x)</span> | 0.061ms <span style="color:green">(2.9x)</span> | 0.120ms <span style="color:green">(1.5x)</span> | 0.060ms <span style="color:green">(2.9x)</span> ๐ข | 0.061ms <span style="color:green">(2.9x)</span> | *0.175ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(100000)` | 1.723ms <span style="color:green">(1.3x)</span> | 0.996ms <span style="color:green">(2.2x)</span> | 0.914ms <span style="color:green">(2.4x)</span> | 1.565ms <span style="color:green">(1.4x)</span> | 0.909ms <span style="color:green">(2.4x)</span> | 0.889ms <span style="color:green">(2.5x)</span> ๐ข | *2.209ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1000000)` | 33.017ms <span style="color:red">(0.9x)</span> | 21.056ms <span style="color:green">(1.4x)</span> | 19.847ms <span style="color:green">(1.5x)</span> | 50.228ms <span style="color:red">(0.6x)</span> ๐ | 19.654ms <span style="color:green">(1.5x)</span> | 19.613ms <span style="color:green">(1.5x)</span> ๐ข | *29.738ms <span style="color:grey">(1.0x)</span>* |
| `AddGrow(4, 1048576)`*ยณ* | 137.459ms <span style="color:red">(0.4x)</span> ๐ | 81.364ms <span style="color:red">(0.6x)</span> | 77.039ms <span style="color:red">(0.6x)</span> | 133.603ms <span style="color:red">(0.4x)</span> | 78.458ms <span style="color:red">(0.6x)</span> | 76.533ms <span style="color:red">(0.6x)</span> | *49.222ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `AddGrow(65536, 1048576)`*ยณ* | 140.883ms <span style="color:red">(0.4x)</span> ๐ | 82.611ms <span style="color:red">(0.6x)</span> | 77.670ms <span style="color:red">(0.6x)</span> | 134.717ms <span style="color:red">(0.4x)</span> | 79.913ms <span style="color:red">(0.6x)</span> | 77.316ms <span style="color:red">(0.6x)</span> | *50.215ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Contains(10000)` | 0.089ms <span style="color:green">(2.1x)</span> | 0.036ms <span style="color:green">(5.1x)</span> | 0.027ms <span style="color:green">(6.8x)</span> | 0.101ms <span style="color:green">(1.9x)</span> | 0.029ms <span style="color:green">(6.4x)</span> | 0.025ms <span style="color:green">(7.4x)</span> ๐ข | *0.188ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(100000)` | 1.696ms <span style="color:green">(1.7x)</span> | 0.694ms <span style="color:green">(4.1x)</span> | 0.508ms <span style="color:green">(5.6x)</span> | 1.945ms <span style="color:green">(1.5x)</span> | 0.538ms <span style="color:green">(5.3x)</span> | 0.482ms <span style="color:green">(5.9x)</span> ๐ข | *2.843ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1000000)` | 42.805ms <span style="color:green">(1.5x)</span> | 17.135ms <span style="color:green">(3.6x)</span> | 12.633ms <span style="color:green">(4.9x)</span> | 43.284ms <span style="color:green">(1.4x)</span> | 12.700ms <span style="color:green">(4.9x)</span> | 11.703ms <span style="color:green">(5.3x)</span> ๐ข | *62.072ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(10000)` | 0.109ms <span style="color:green">(1.7x)</span> | 0.028ms <span style="color:green">(6.7x)</span> | 0.032ms <span style="color:green">(5.9x)</span> | 0.122ms <span style="color:green">(1.6x)</span> | 0.027ms <span style="color:green">(7.1x)</span> | 0.026ms <span style="color:green">(7.1x)</span> ๐ข | *0.189ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(100000)` | 1.983ms <span style="color:green">(1.4x)</span> | 0.592ms <span style="color:green">(4.7x)</span> | 0.614ms <span style="color:green">(4.5x)</span> | 2.125ms <span style="color:green">(1.3x)</span> | 0.543ms <span style="color:green">(5.1x)</span> ๐ข | 0.545ms <span style="color:green">(5.1x)</span> | *2.791ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(1000000)` | 57.739ms <span style="color:green">(1.1x)</span> | 16.881ms <span style="color:green">(3.7x)</span> | 16.937ms <span style="color:green">(3.7x)</span> | 57.860ms <span style="color:green">(1.1x)</span> | 14.918ms <span style="color:green">(4.1x)</span> ๐ข | 15.113ms <span style="color:green">(4.1x)</span> | *61.850ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(10000)` | 0.103ms <span style="color:green">(2.0x)</span> | 0.080ms <span style="color:green">(2.6x)</span> | 0.040ms <span style="color:green">(5.2x)</span> | 0.084ms <span style="color:green">(2.5x)</span> | 0.039ms <span style="color:green">(5.3x)</span> | 0.036ms <span style="color:green">(5.8x)</span> ๐ข | *0.209ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(100000)` | 1.890ms <span style="color:green">(1.6x)</span> | 1.269ms <span style="color:green">(2.4x)</span> | 0.755ms <span style="color:green">(4.1x)</span> | 1.473ms <span style="color:green">(2.1x)</span> | 0.759ms <span style="color:green">(4.1x)</span> | 0.707ms <span style="color:green">(4.3x)</span> ๐ข | *3.074ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(1000000)` | 73.370ms <span style="color:grey">(1.0x)</span> | 69.054ms <span style="color:green">(1.1x)</span> | 65.695ms <span style="color:green">(1.1x)</span> ๐ข | 73.500ms <span style="color:grey">(1.0x)</span> | 65.870ms <span style="color:green">(1.1x)</span> | 66.574ms <span style="color:green">(1.1x)</span> | *73.729ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(10000)` | 0.105ms <span style="color:green">(1.8x)</span> | 0.033ms <span style="color:green">(5.7x)</span> | 0.032ms <span style="color:green">(5.9x)</span> | 0.120ms <span style="color:green">(1.6x)</span> | 0.029ms <span style="color:green">(6.6x)</span> ๐ข | 0.029ms <span style="color:green">(6.6x)</span> ๐ข | *0.191ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(100000)` | 1.943ms <span style="color:green">(1.4x)</span> | 0.645ms <span style="color:green">(4.4x)</span> | 0.637ms <span style="color:green">(4.4x)</span> | 2.102ms <span style="color:green">(1.3x)</span> | 0.574ms <span style="color:green">(4.9x)</span> | 0.557ms <span style="color:green">(5.1x)</span> ๐ข | *2.816ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(1000000)` | 55.056ms <span style="color:green">(1.1x)</span> | 18.084ms <span style="color:green">(3.4x)</span> | 17.878ms <span style="color:green">(3.5x)</span> | 59.138ms <span style="color:grey">(1.0x)</span> | 15.889ms <span style="color:green">(3.9x)</span> | 15.692ms <span style="color:green">(4.0x)</span> ๐ข | *62.067ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(10000)` | 0.110ms <span style="color:green">(1.4x)</span> | 0.044ms <span style="color:green">(3.6x)</span> | 0.035ms <span style="color:green">(4.5x)</span> | 0.094ms <span style="color:green">(1.7x)</span> | 0.029ms <span style="color:green">(5.4x)</span> | 0.028ms <span style="color:green">(5.6x)</span> ๐ข | *0.158ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(100000)` | 1.889ms <span style="color:green">(1.3x)</span> | 0.844ms <span style="color:green">(2.8x)</span> | 0.661ms <span style="color:green">(3.6x)</span> | 3.654ms <span style="color:red">(0.7x)</span> ๐ | 0.566ms <span style="color:green">(4.2x)</span> | 0.547ms <span style="color:green">(4.4x)</span> ๐ข | *2.395ms <span style="color:grey">(1.0x)</span>* |
| `Remove(1000000)` | 62.623ms <span style="color:grey">(1.0x)</span> | 56.372ms <span style="color:green">(1.1x)</span> | 53.877ms <span style="color:green">(1.2x)</span> ๐ข | 61.104ms <span style="color:grey">(1.0x)</span> | 54.841ms <span style="color:green">(1.1x)</span> | 55.805ms <span style="color:green">(1.1x)</span> | *62.915ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(10000)` | 0.150ms <span style="color:red">(0.3x)</span> ๐ | 0.083ms <span style="color:red">(0.5x)</span> | 0.077ms <span style="color:red">(0.5x)</span> | 0.141ms <span style="color:red">(0.3x)</span> | 0.077ms <span style="color:red">(0.5x)</span> | 0.079ms <span style="color:red">(0.5x)</span> | *0.041ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Foreach(100000)` | 1.984ms <span style="color:red">(0.2x)</span> ๐ | 0.924ms <span style="color:red">(0.4x)</span> | 0.866ms <span style="color:red">(0.5x)</span> | 1.869ms <span style="color:red">(0.2x)</span> | 0.865ms <span style="color:red">(0.5x)</span> | 0.885ms <span style="color:red">(0.5x)</span> | *0.412ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Foreach(1000000)` | 27.605ms <span style="color:red">(0.2x)</span> ๐ | 10.947ms <span style="color:red">(0.4x)</span> | 10.421ms <span style="color:red">(0.4x)</span> | 26.351ms <span style="color:red">(0.2x)</span> | 10.457ms <span style="color:red">(0.4x)</span> | 10.619ms <span style="color:red">(0.4x)</span> | *4.359ms <span style="color:grey">(1.0x)</span>* ๐ข |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยณ* AddGrow(capacity, growTo) -- Incrementally grows from `capacity` until reaching size of `growTo`<br/>
---
<br/>
### *HashSet*
| Functionality | NativeHashSet (S) | NativeHashSet (S+B) | NativeHashSet (B) | UnsafeHashSet (S) | UnsafeHashSet (S+B) | UnsafeHashSet (B) | *HashSet (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(0)`*ยน* | 0.342ms <span style="color:red">(0.4x)</span> ๐ | 0.112ms <span style="color:green">(1.3x)</span> | 0.133ms โ<span style="color:green">(1.1x)</span> | 0.221ms <span style="color:red">(0.6x)</span> | 0.106ms <span style="color:green">(1.3x)</span> ๐ข | 0.106ms โ<span style="color:green">(1.3x)</span> | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `IsEmpty_x_100k(100)`*ยน* | 0.342ms <span style="color:red">(0.4x)</span> ๐ | 0.112ms <span style="color:green">(1.3x)</span> | 0.133ms โ<span style="color:green">(1.1x)</span> | 0.221ms <span style="color:red">(0.6x)</span> | 0.106ms <span style="color:green">(1.3x)</span> | 0.106ms โ<span style="color:green">(1.3x)</span> ๐ข | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(0)`*ยน* | 0.261ms <span style="color:red">(0.5x)</span> ๐ | 0.143ms <span style="color:grey">(1.0x)</span> | 0.111ms โ<span style="color:green">(1.3x)</span> | 0.100ms <span style="color:green">(1.4x)</span> ๐ข | 0.111ms <span style="color:green">(1.3x)</span> | 0.108ms โ<span style="color:green">(1.3x)</span> | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(100)`*ยน* | 0.261ms <span style="color:red">(0.5x)</span> ๐ | 0.142ms <span style="color:grey">(1.0x)</span> | 0.111ms โ<span style="color:green">(1.3x)</span> | 0.100ms <span style="color:green">(1.4x)</span> ๐ข | 0.111ms <span style="color:green">(1.3x)</span> | 0.111ms โ<span style="color:green">(1.3x)</span> | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(10000)` | 0.043ms <span style="color:red">(0.4x)</span> ๐ | 0.015ms <span style="color:green">(1.2x)</span> | 0.009ms โ<span style="color:green">(1.9x)</span> | 0.043ms <span style="color:red">(0.4x)</span> | 0.015ms <span style="color:green">(1.2x)</span> | 0.009ms โ<span style="color:green">(1.9x)</span> ๐ข | *0.018ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(100000)` | 0.475ms <span style="color:red">(0.4x)</span> | 0.144ms <span style="color:green">(1.2x)</span> | 0.085ms โ<span style="color:green">(2.1x)</span> ๐ข | 0.485ms <span style="color:red">(0.4x)</span> ๐ | 0.144ms <span style="color:green">(1.2x)</span> | 0.085ms โ<span style="color:green">(2.1x)</span> ๐ข | *0.176ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(1000000)` | 4.935ms <span style="color:red">(0.4x)</span> | 1.591ms <span style="color:green">(1.2x)</span> | 0.989ms โ<span style="color:green">(1.9x)</span> ๐ข | 5.378ms <span style="color:red">(0.4x)</span> ๐ | 1.586ms <span style="color:green">(1.2x)</span> | 0.997ms โ<span style="color:green">(1.9x)</span> | *1.927ms <span style="color:grey">(1.0x)</span>* |
| `Insert(10000)` | 0.093ms <span style="color:green">(1.1x)</span> | 0.044ms <span style="color:green">(2.3x)</span> | 0.040ms โ<span style="color:green">(2.6x)</span> | 0.078ms <span style="color:green">(1.3x)</span> | 0.039ms <span style="color:green">(2.6x)</span> | 0.035ms โ<span style="color:green">(2.9x)</span> ๐ข | *0.103ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(100000)` | 0.937ms <span style="color:green">(1.1x)</span> | 0.441ms <span style="color:green">(2.3x)</span> | 0.403ms โ<span style="color:green">(2.6x)</span> | 0.785ms <span style="color:green">(1.3x)</span> | 0.390ms <span style="color:green">(2.6x)</span> | 0.351ms โ<span style="color:green">(2.9x)</span> ๐ข | *1.029ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1000000)` | 12.275ms <span style="color:red">(0.8x)</span> ๐ | 7.030ms <span style="color:green">(1.5x)</span> | 6.650ms โ<span style="color:green">(1.6x)</span> ๐ข | 10.495ms <span style="color:grey">(1.0x)</span> | 6.902ms <span style="color:green">(1.5x)</span> | 6.747ms โ<span style="color:green">(1.5x)</span> | *10.384ms <span style="color:grey">(1.0x)</span>* |
| `AddGrow(4, 1048576)`*ยณ* | 76.515ms <span style="color:red">(0.3x)</span> ๐ | 35.430ms <span style="color:red">(0.6x)</span> | 33.171ms โ<span style="color:red">(0.6x)</span> | 75.704ms <span style="color:red">(0.3x)</span> | 32.776ms <span style="color:red">(0.6x)</span> | 30.928ms โ<span style="color:red">(0.7x)</span> | *20.387ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `AddGrow(65536, 1048576)`*ยณ* | 75.192ms <span style="color:red">(0.3x)</span> ๐ | 34.149ms <span style="color:red">(0.6x)</span> | 32.652ms โ<span style="color:red">(0.6x)</span> | 74.248ms <span style="color:red">(0.3x)</span> | 34.092ms <span style="color:red">(0.6x)</span> | 32.440ms โ<span style="color:red">(0.6x)</span> | *19.978ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Contains(10000)` | 0.061ms <span style="color:green">(1.8x)</span> | 0.017ms <span style="color:green">(6.7x)</span> | 0.010ms <span style="color:green">(11.5x)</span> | 0.072ms <span style="color:green">(1.6x)</span> | 0.013ms <span style="color:green">(8.9x)</span> | 0.009ms <span style="color:green">(12.5x)</span> ๐ข | *0.113ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(100000)` | 0.949ms <span style="color:green">(1.7x)</span> | 0.311ms <span style="color:green">(5.2x)</span> | 0.199ms โ<span style="color:green">(8.1x)</span> | 1.104ms <span style="color:green">(1.5x)</span> | 0.207ms <span style="color:green">(7.8x)</span> | 0.180ms โ<span style="color:green">(8.9x)</span> ๐ข | *1.610ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1000000)` | 11.436ms <span style="color:green">(1.7x)</span> | 3.877ms <span style="color:green">(4.9x)</span> | 2.576ms โ<span style="color:green">(7.4x)</span> | 13.252ms <span style="color:green">(1.4x)</span> | 2.653ms <span style="color:green">(7.2x)</span> | 2.373ms โ<span style="color:green">(8.0x)</span> ๐ข | *19.089ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(10000)` | 0.111ms <span style="color:green">(1.7x)</span> | 0.054ms <span style="color:green">(3.4x)</span> | 0.044ms โ<span style="color:green">(4.3x)</span> | 0.101ms <span style="color:green">(1.8x)</span> | 0.036ms <span style="color:green">(5.2x)</span> ๐ข | 0.040ms โ<span style="color:green">(4.6x)</span> | *0.186ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(100000)` | 1.327ms <span style="color:green">(1.6x)</span> | 0.645ms <span style="color:green">(3.2x)</span> | 0.531ms โ<span style="color:green">(3.9x)</span> | 1.218ms <span style="color:green">(1.7x)</span> | 0.438ms <span style="color:green">(4.7x)</span> ๐ข | 0.477ms โ<span style="color:green">(4.4x)</span> | *2.076ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1000000)` | 15.132ms <span style="color:green">(1.5x)</span> | 7.264ms <span style="color:green">(3.2x)</span> | 5.953ms โ<span style="color:green">(3.9x)</span> | 26.197ms <span style="color:red">(0.9x)</span> ๐ | 4.917ms <span style="color:green">(4.7x)</span> ๐ข | 5.268ms โ<span style="color:green">(4.4x)</span> | *23.150ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(10000)` | 0.081ms <span style="color:red">(0.4x)</span> ๐ | 0.029ms <span style="color:green">(1.2x)</span> | 0.016ms โ<span style="color:green">(2.3x)</span> ๐ข | 0.054ms <span style="color:red">(0.7x)</span> | 0.017ms <span style="color:green">(2.2x)</span> | 0.017ms โ<span style="color:green">(2.2x)</span> | *0.036ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(100000)` | 0.766ms <span style="color:red">(0.5x)</span> ๐ | 0.241ms <span style="color:green">(1.5x)</span> | 0.135ms โ<span style="color:green">(2.6x)</span> ๐ข | 0.505ms <span style="color:red">(0.7x)</span> | 0.145ms <span style="color:green">(2.5x)</span> | 0.145ms โ<span style="color:green">(2.5x)</span> | *0.356ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(1000000)` | 7.540ms <span style="color:red">(0.5x)</span> ๐ | 2.280ms <span style="color:green">(1.6x)</span> | 1.431ms โ<span style="color:green">(2.5x)</span> ๐ข | 4.906ms <span style="color:red">(0.7x)</span> | 1.524ms <span style="color:green">(2.4x)</span> | 1.516ms โ<span style="color:green">(2.4x)</span> | *3.638ms <span style="color:grey">(1.0x)</span>* |
| `UnionWith(10000)` | 0.226ms <span style="color:green">(1.1x)</span> | 0.144ms <span style="color:green">(1.8x)</span> | 0.128ms โ<span style="color:green">(2.0x)</span> | 0.191ms <span style="color:green">(1.3x)</span> | 0.119ms <span style="color:green">(2.1x)</span> | 0.116ms โ<span style="color:green">(2.2x)</span> ๐ข | *0.254ms <span style="color:grey">(1.0x)</span>* ๐ |
| `UnionWith(100000)` | 2.545ms <span style="color:green">(1.4x)</span> | 1.664ms <span style="color:green">(2.1x)</span> | 1.486ms โ<span style="color:green">(2.3x)</span> | 2.140ms <span style="color:green">(1.6x)</span> | 1.370ms <span style="color:green">(2.5x)</span> | 1.349ms โ<span style="color:green">(2.6x)</span> ๐ข | *3.441ms <span style="color:grey">(1.0x)</span>* ๐ |
| `UnionWith(1000000)` | 80.802ms <span style="color:red">(0.7x)</span> ๐ | 43.823ms <span style="color:green">(1.4x)</span> | 39.187ms โ<span style="color:green">(1.5x)</span> ๐ข | 74.811ms <span style="color:red">(0.8x)</span> | 45.527ms <span style="color:green">(1.3x)</span> | 40.115ms โ<span style="color:green">(1.5x)</span> | *59.785ms <span style="color:grey">(1.0x)</span>* |
| `IntersectWith(10000)` | 0.246ms <span style="color:green">(1.1x)</span> | 0.142ms <span style="color:green">(1.9x)</span> | 0.123ms โ<span style="color:green">(2.2x)</span> | 0.201ms <span style="color:green">(1.3x)</span> | 0.107ms <span style="color:green">(2.5x)</span> | 0.105ms โ<span style="color:green">(2.6x)</span> ๐ข | *0.270ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IntersectWith(100000)` | 2.705ms <span style="color:green">(1.3x)</span> | 1.546ms <span style="color:green">(2.2x)</span> | 1.405ms โ<span style="color:green">(2.4x)</span> | 2.218ms <span style="color:green">(1.5x)</span> | 1.189ms <span style="color:green">(2.9x)</span> ๐ข | 1.231ms โ<span style="color:green">(2.8x)</span> | *3.436ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IntersectWith(1000000)` | 33.228ms <span style="color:green">(2.0x)</span> | 19.026ms <span style="color:green">(3.4x)</span> | 17.066ms โ<span style="color:green">(3.8x)</span> | 27.030ms <span style="color:green">(2.4x)</span> | 14.937ms <span style="color:green">(4.4x)</span> ๐ข | 15.096ms โ<span style="color:green">(4.3x)</span> | *65.055ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ExceptWith(10000)` | 0.212ms <span style="color:grey">(1.0x)</span> | 0.125ms <span style="color:green">(1.7x)</span> | 0.107ms โ<span style="color:green">(2.0x)</span> | 0.175ms <span style="color:green">(1.3x)</span> | 0.094ms <span style="color:green">(2.3x)</span> | 0.093ms โ<span style="color:green">(2.4x)</span> ๐ข | *0.218ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ExceptWith(100000)` | 2.374ms <span style="color:green">(1.2x)</span> | 1.419ms <span style="color:green">(2.0x)</span> | 1.257ms โ<span style="color:green">(2.2x)</span> | 1.992ms <span style="color:green">(1.4x)</span> | 1.109ms <span style="color:green">(2.5x)</span> ๐ข | 1.110ms โ<span style="color:green">(2.5x)</span> | *2.799ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ExceptWith(1000000)` | 35.627ms <span style="color:green">(1.1x)</span> | 19.482ms <span style="color:green">(2.0x)</span> | 17.001ms โ<span style="color:green">(2.3x)</span> | 29.688ms <span style="color:green">(1.3x)</span> | 15.493ms <span style="color:green">(2.6x)</span> ๐ข | 15.620ms โ<span style="color:green">(2.5x)</span> | *39.627ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยณ* AddGrow(capacity, growTo) -- Incrementally grows from `capacity` until reaching size of `growTo`<br/>
---
<br/>
### *List*
| Functionality | NativeList (S) | NativeList (S+B) | NativeList (B) | UnsafeList (S) | UnsafeList (S+B) | UnsafeList (B) | *List (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(0)`*ยน* | 0.154ms <span style="color:red">(0.9x)</span> | 0.121ms <span style="color:green">(1.2x)</span> | 0.111ms โ<span style="color:green">(1.3x)</span> | 0.161ms <span style="color:red">(0.9x)</span> ๐ | 0.106ms โ<span style="color:green">(1.3x)</span> ๐ข | 0.106ms โ<span style="color:green">(1.3x)</span> ๐ข | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `IsEmpty_x_100k(100)`*ยน* | 0.154ms <span style="color:red">(0.9x)</span> | 0.121ms <span style="color:green">(1.2x)</span> | 0.111ms โ<span style="color:green">(1.3x)</span> | 0.161ms <span style="color:red">(0.9x)</span> ๐ | 0.106ms โ<span style="color:green">(1.3x)</span> | 0.106ms โ<span style="color:green">(1.3x)</span> ๐ข | *0.140ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(0)`*ยน* | 0.120ms <span style="color:grey">(1.0x)</span> ๐ | 0.111ms <span style="color:green">(1.1x)</span> | 0.111ms โ<span style="color:green">(1.1x)</span> | 0.020ms <span style="color:green">(6.0x)</span> ๐ข | 0.081ms โ<span style="color:green">(1.5x)</span> | 0.108ms โ<span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(100)`*ยน* | 0.120ms <span style="color:grey">(1.0x)</span> ๐ | 0.111ms <span style="color:green">(1.1x)</span> | 0.111ms โ<span style="color:green">(1.1x)</span> | 0.020ms <span style="color:green">(6.0x)</span> ๐ข | 0.081ms โ<span style="color:green">(1.5x)</span> | 0.108ms โ<span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArray(10000)` | 0.002ms <span style="color:green">(1.4x)</span> | 0.002ms <span style="color:green">(1.8x)</span> | 0.002ms โ<span style="color:green">(1.9x)</span> ๐ข | --- | --- | --- | *0.003ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArray(100000)` | 0.088ms <span style="color:red">(0.3x)</span> ๐ | 0.015ms <span style="color:green">(1.9x)</span> | 0.015ms โ<span style="color:green">(2.0x)</span> ๐ข | --- | --- | --- | *0.029ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(1000000)` | 0.906ms <span style="color:red">(0.3x)</span> ๐ | 0.143ms <span style="color:green">(2.1x)</span> ๐ข | 0.148ms โ<span style="color:green">(2.1x)</span> | --- | --- | --- | *0.306ms <span style="color:grey">(1.0x)</span>* |
| `Add(10000)` | 0.040ms <span style="color:red">(0.4x)</span> ๐ | 0.014ms <span style="color:grey">(1.0x)</span> | 0.016ms โ<span style="color:red">(0.9x)</span> | 0.017ms <span style="color:red">(0.9x)</span> | 0.007ms โ<span style="color:green">(2.2x)</span> ๐ข | 0.007ms โ<span style="color:green">(2.2x)</span> | *0.014ms <span style="color:grey">(1.0x)</span>* |
| `Add(100000)` | 0.400ms <span style="color:red">(0.4x)</span> ๐ | 0.140ms <span style="color:grey">(1.0x)</span> | 0.155ms โ<span style="color:red">(0.9x)</span> | 0.166ms <span style="color:red">(0.9x)</span> | 0.061ms โ<span style="color:green">(2.3x)</span> ๐ข | 0.061ms โ<span style="color:green">(2.3x)</span> ๐ข | *0.144ms <span style="color:grey">(1.0x)</span>* |
| `Add(1000000)` | 4.000ms <span style="color:red">(0.4x)</span> ๐ | 1.399ms <span style="color:grey">(1.0x)</span> | 1.548ms โ<span style="color:red">(0.9x)</span> | 1.654ms <span style="color:red">(0.9x)</span> | 0.605ms โ<span style="color:green">(2.4x)</span> ๐ข | 0.608ms โ<span style="color:green">(2.4x)</span> | *1.436ms <span style="color:grey">(1.0x)</span>* |
| `AddGrow(4, 1048576)`*ยณ* | 4.647ms <span style="color:red">(0.5x)</span> ๐ | 1.886ms <span style="color:green">(1.3x)</span> | 1.759ms โ<span style="color:green">(1.4x)</span> | 2.141ms <span style="color:green">(1.1x)</span> | 1.026ms โ<span style="color:green">(2.3x)</span> ๐ข | 1.033ms โ<span style="color:green">(2.3x)</span> | *2.402ms <span style="color:grey">(1.0x)</span>* |
| `AddGrow(65536, 1048576)`*ยณ* | 4.604ms <span style="color:red">(0.5x)</span> ๐ | 1.865ms <span style="color:green">(1.3x)</span> | 1.773ms โ<span style="color:green">(1.3x)</span> | 2.122ms <span style="color:green">(1.1x)</span> | 1.083ms โ<span style="color:green">(2.2x)</span> | 1.010ms โ<span style="color:green">(2.4x)</span> ๐ข | *2.381ms <span style="color:grey">(1.0x)</span>* |
| `Contains(1000)` | 0.371ms <span style="color:green">(1.1x)</span> | 0.086ms <span style="color:green">(4.6x)</span> | 0.084ms โ<span style="color:green">(4.7x)</span> | 0.370ms <span style="color:green">(1.1x)</span> | 0.148ms โ<span style="color:green">(2.7x)</span> | 0.084ms โ<span style="color:green">(4.7x)</span> ๐ข | *0.394ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(10000)` | 37.241ms <span style="color:green">(1.2x)</span> | 7.565ms <span style="color:green">(6.0x)</span> | 7.548ms โ<span style="color:green">(6.0x)</span> | 37.203ms <span style="color:green">(1.2x)</span> | 7.541ms โ<span style="color:green">(6.0x)</span> ๐ข | 7.544ms โ<span style="color:green">(6.0x)</span> | *45.509ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(10000)` | 0.037ms <span style="color:red">(0.6x)</span> ๐ | 0.009ms <span style="color:green">(2.7x)</span> | 0.005ms โ<span style="color:green">(4.8x)</span> | 0.022ms <span style="color:grey">(1.0x)</span> | 0.005ms โ<span style="color:green">(5.0x)</span> ๐ข | 0.005ms โ<span style="color:green">(4.9x)</span> | *0.023ms <span style="color:grey">(1.0x)</span>* |
| `IndexedRead(100000)` | 0.474ms <span style="color:red">(0.7x)</span> ๐ | 0.090ms <span style="color:green">(3.6x)</span> | 0.068ms โ<span style="color:green">(4.8x)</span> | 0.268ms <span style="color:green">(1.2x)</span> | 0.077ms โ<span style="color:green">(4.2x)</span> | 0.068ms โ<span style="color:green">(4.8x)</span> ๐ข | *0.328ms <span style="color:grey">(1.0x)</span>* |
| `IndexedRead(1000000)` | 5.416ms <span style="color:red">(0.7x)</span> ๐ | 1.487ms <span style="color:green">(2.6x)</span> | 1.341ms โ<span style="color:green">(2.9x)</span> ๐ข | 3.197ms <span style="color:green">(1.2x)</span> | 1.395ms โ<span style="color:green">(2.8x)</span> | 1.357ms โ<span style="color:green">(2.9x)</span> | *3.897ms <span style="color:grey">(1.0x)</span>* |
| `IndexedWrite(10000)` | 0.028ms <span style="color:grey">(1.0x)</span> | 0.011ms <span style="color:green">(2.6x)</span> | 0.007ms โ<span style="color:green">(4.4x)</span> | 0.018ms <span style="color:green">(1.6x)</span> | 0.006ms โ<span style="color:green">(4.6x)</span> ๐ข | 0.010ms โ<span style="color:green">(3.0x)</span> | *0.029ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(100000)` | 0.311ms <span style="color:green">(1.1x)</span> | 0.125ms <span style="color:green">(2.7x)</span> ๐ข | 0.135ms โ<span style="color:green">(2.5x)</span> | 0.220ms <span style="color:green">(1.5x)</span> | 0.136ms โ<span style="color:green">(2.4x)</span> | 0.132ms โ<span style="color:green">(2.5x)</span> | *0.331ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(1000000)` | 3.656ms <span style="color:green">(1.1x)</span> | 1.892ms <span style="color:green">(2.1x)</span> | 1.868ms โ<span style="color:green">(2.1x)</span> | 2.775ms <span style="color:green">(1.4x)</span> | 1.796ms โ<span style="color:green">(2.2x)</span> | 1.744ms โ<span style="color:green">(2.3x)</span> ๐ข | *3.956ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1000)` | 0.087ms <span style="color:red">(0.3x)</span> ๐ | 0.011ms <span style="color:green">(1.9x)</span> | 0.011ms โ<span style="color:green">(2.1x)</span> | 0.085ms <span style="color:red">(0.3x)</span> | 0.011ms โ<span style="color:green">(2.0x)</span> | 0.010ms โ<span style="color:green">(2.2x)</span> ๐ข | *0.022ms <span style="color:grey">(1.0x)</span>* |
| `Remove(10000)` | 7.626ms <span style="color:red">(0.1x)</span> ๐ | 0.732ms <span style="color:green">(1.2x)</span> | 0.717ms โ<span style="color:green">(1.2x)</span> | 7.616ms <span style="color:red">(0.1x)</span> | 0.716ms โ<span style="color:green">(1.2x)</span> | 0.704ms โ<span style="color:green">(1.2x)</span> ๐ข | *0.853ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(10000)` | 0.038ms <span style="color:red">(0.6x)</span> ๐ | 0.004ms <span style="color:green">(5.8x)</span> | 0.003ms โ<span style="color:green">(8.8x)</span> | 0.016ms <span style="color:green">(1.5x)</span> | 0.003ms โ<span style="color:green">(9.0x)</span> ๐ข | 0.003ms โ<span style="color:green">(9.0x)</span> ๐ข | *0.024ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(100000)` | 0.381ms <span style="color:red">(0.6x)</span> ๐ | 0.037ms <span style="color:green">(6.5x)</span> | 0.024ms <span style="color:green">(10.0x)</span> | 0.160ms <span style="color:green">(1.5x)</span> | 0.024ms <span style="color:green">(10.0x)</span> ๐ข | 0.024ms <span style="color:green">(10.0x)</span> ๐ข | *0.242ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(1000000)` | 3.815ms <span style="color:red">(0.6x)</span> ๐ | 0.360ms <span style="color:green">(6.7x)</span> | 0.229ms <span style="color:green">(10.6x)</span> | 1.621ms <span style="color:green">(1.5x)</span> | 0.226ms <span style="color:green">(10.7x)</span> ๐ข | 0.226ms <span style="color:green">(10.7x)</span> | *2.419ms <span style="color:grey">(1.0x)</span>* |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยณ* AddGrow(capacity, growTo) -- Incrementally grows from `capacity` until reaching size of `growTo`<br/>
---
<br/>
### *ParallelHashMap*
| Functionality | NativeParallelHashMap (S) | NativeParallelHashMap (S+B) | NativeParallelHashMap (B) | UnsafeParallelHashMap (S) | UnsafeParallelHashMap (S+B) | UnsafeParallelHashMap (B) | *ConcurrentDictionary (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(1, 0)`*ยน* | 0.462ms โ<span style="color:green">(176.1x)</span> | 0.141ms โ<span style="color:green">(577.9x)</span> | 0.109ms โ<span style="color:green">(748.4x)</span> ๐ข | 0.261ms โ<span style="color:green">(312.0x)</span> | 0.162ms โ<span style="color:green">(501.5x)</span> | 0.174ms โ<span style="color:green">(469.0x)</span> | *81.423ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(2, 0)`*ยนหยฒ* | 0.234ms โ<span style="color:green">(551.2x)</span> | 0.072ms <span style="color:green">(1782.5x)</span> ๐ข | 0.090ms <span style="color:green">(1427.8x)</span> | 0.134ms โ<span style="color:green">(965.2x)</span> | 0.096ms <span style="color:green">(1338.9x)</span> | 0.091ms <span style="color:green">(1412.9x)</span> | *129.140ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(4, 0)`*ยนหยฒ* | 0.267ms โ<span style="color:green">(644.7x)</span> | 0.042ms <span style="color:green">(4088.3x)</span> ๐ข | 0.050ms <span style="color:green">(3473.0x)</span> | 0.078ms <span style="color:green">(2214.0x)</span> | 0.048ms <span style="color:green">(3604.1x)</span> | 0.047ms <span style="color:green">(3626.9x)</span> | *171.914ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(1, 100)`*ยน* | 0.682ms โ<span style="color:green">(114.0x)</span> | 0.238ms โ<span style="color:green">(326.4x)</span> | 0.242ms โ<span style="color:green">(322.0x)</span> | 0.582ms โ<span style="color:green">(133.7x)</span> | 0.181ms โ<span style="color:green">(429.8x)</span> | 0.181ms โ<span style="color:green">(429.9x)</span> ๐ข | *77.786ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(2, 100)`*ยนหยฒ* | 0.380ms โ<span style="color:green">(341.5x)</span> | 0.124ms <span style="color:green">(1046.8x)</span> | 0.142ms โ<span style="color:green">(911.2x)</span> | 0.295ms โ<span style="color:green">(440.2x)</span> | 0.093ms <span style="color:green">(1399.5x)</span> ๐ข | 0.095ms <span style="color:green">(1370.0x)</span> | *129.804ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(4, 100)`*ยนหยฒ* | 0.354ms โ<span style="color:green">(490.4x)</span> | 0.114ms <span style="color:green">(1518.7x)</span> | 0.125ms <span style="color:green">(1385.9x)</span> | 0.217ms โ<span style="color:green">(799.6x)</span> | 0.109ms <span style="color:green">(1596.9x)</span> | 0.062ms <span style="color:green">(2818.0x)</span> ๐ข | *173.587ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(1, 0)`*ยน* | 0.535ms โ<span style="color:green">(150.8x)</span> | 0.201ms โ<span style="color:green">(401.0x)</span> | 0.155ms โ<span style="color:green">(521.9x)</span> ๐ข | 0.287ms โ<span style="color:green">(280.9x)</span> | 0.181ms โ<span style="color:green">(445.7x)</span> | 0.161ms โ<span style="color:green">(501.3x)</span> | *80.634ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(2, 0)`*ยนหยฒ* | 0.271ms โ<span style="color:green">(455.4x)</span> | 0.103ms <span style="color:green">(1195.2x)</span> | 0.080ms <span style="color:green">(1532.7x)</span> ๐ข | 0.148ms โ<span style="color:green">(831.5x)</span> | 0.093ms <span style="color:green">(1326.5x)</span> | 0.083ms <span style="color:green">(1491.0x)</span> | *123.229ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(4, 0)`*ยนหยฒ* | 0.144ms <span style="color:green">(1320.5x)</span> | 0.061ms <span style="color:green">(3106.4x)</span> | 0.046ms <span style="color:green">(4132.8x)</span> ๐ข | 0.083ms <span style="color:green">(2294.1x)</span> | 0.103ms <span style="color:green">(1846.0x)</span> | 0.051ms <span style="color:green">(3730.1x)</span> | *189.491ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(1, 100)`*ยน* | 3.685ms โโ<span style="color:green">(25.7x)</span> | 1.444ms โโ<span style="color:green">(65.7x)</span> ๐ข | 1.693ms โโ<span style="color:green">(56.0x)</span> | 3.191ms โโ<span style="color:green">(29.7x)</span> | 1.544ms โโ<span style="color:green">(61.4x)</span> | 1.614ms โโ<span style="color:green">(58.8x)</span> | *94.884ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(2, 100)`*ยนหยฒ* | 1.845ms โโ<span style="color:green">(73.9x)</span> | 0.736ms โ<span style="color:green">(185.3x)</span> ๐ข | 0.887ms โ<span style="color:green">(153.8x)</span> | 1.595ms โโ<span style="color:green">(85.5x)</span> | 0.773ms โ<span style="color:green">(176.6x)</span> | 0.825ms โ<span style="color:green">(165.4x)</span> | *136.423ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(4, 100)`*ยนหยฒ* | 1.613ms โ<span style="color:green">(113.9x)</span> | 0.708ms โ<span style="color:green">(259.3x)</span> | 0.707ms โ<span style="color:green">(259.9x)</span> | 1.460ms โ<span style="color:green">(125.8x)</span> | 0.746ms โ<span style="color:green">(246.2x)</span> | 0.689ms โ<span style="color:green">(266.5x)</span> ๐ข | *183.655ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArrayKeys(1, 10000)` | 0.150ms โโโ<span style="color:green">(1.2x)</span> | 0.121ms โโโ<span style="color:green">(1.5x)</span> | 0.081ms โโโ<span style="color:green">(2.2x)</span> ๐ข | 0.201ms โโโ<span style="color:red">(0.9x)</span> ๐ | 0.129ms โโโ<span style="color:green">(1.4x)</span> | 0.111ms โโโ<span style="color:green">(1.6x)</span> | *0.180ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArrayKeys(1, 100000)` | 1.652ms โโโ<span style="color:green">(1.4x)</span> | 1.243ms โโโ<span style="color:green">(1.9x)</span> | 1.052ms โโโ<span style="color:green">(2.2x)</span> ๐ข | 1.796ms โโโ<span style="color:green">(1.3x)</span> | 1.402ms โโโ<span style="color:green">(1.7x)</span> | 1.053ms โโโ<span style="color:green">(2.2x)</span> | *2.336ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArrayKeys(1, 1000000)` | 36.653ms โโโ<span style="color:red">(0.7x)</span> ๐ | 17.665ms โโโ<span style="color:green">(1.4x)</span> | 12.848ms โโโ<span style="color:green">(2.0x)</span> | 36.236ms โโโ<span style="color:red">(0.7x)</span> | 18.985ms โโโ<span style="color:green">(1.3x)</span> | 10.798ms โโโ<span style="color:green">(2.3x)</span> ๐ข | *25.361ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArrayValues(1, 10000)` | 0.150ms โโโ<span style="color:red">(0.9x)</span> | 0.121ms โโโ<span style="color:green">(1.2x)</span> | 0.080ms โโโ<span style="color:green">(1.8x)</span> | 0.151ms โโโ<span style="color:red">(0.9x)</span> ๐ | 0.122ms โโโ<span style="color:green">(1.2x)</span> | 0.079ms โโโ<span style="color:green">(1.8x)</span> ๐ข | *0.141ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArrayValues(1, 100000)` | 1.626ms โโโ<span style="color:green">(1.1x)</span> | 1.235ms โโโ<span style="color:green">(1.4x)</span> | 0.862ms โโโ<span style="color:green">(2.1x)</span> ๐ข | 1.629ms โโโ<span style="color:green">(1.1x)</span> | 1.229ms โโโ<span style="color:green">(1.4x)</span> | 0.872ms โโโ<span style="color:green">(2.0x)</span> | *1.773ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArrayValues(1, 1000000)` | 20.867ms โโโ<span style="color:green">(1.1x)</span> | 15.371ms โโโ<span style="color:green">(1.5x)</span> | 11.046ms โโโ<span style="color:green">(2.1x)</span> | 24.782ms โโโ<span style="color:grey">(1.0x)</span> ๐ | 17.345ms โโโ<span style="color:green">(1.4x)</span> | 10.785ms โโโ<span style="color:green">(2.2x)</span> ๐ข | *23.593ms <span style="color:grey">(1.0x)</span>* |
| `Insert(1, 10000)` | 0.353ms โโโ<span style="color:green">(5.6x)</span> | 0.209ms โโโ<span style="color:green">(9.5x)</span> | 0.212ms โโโ<span style="color:green">(9.3x)</span> | 0.320ms โโโ<span style="color:green">(6.2x)</span> | 0.205ms โโโ<span style="color:green">(9.6x)</span> ๐ข | 0.211ms โโโ<span style="color:green">(9.4x)</span> | *1.979ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 10000)`*ยฒ* | 0.543ms โโโ<span style="color:green">(4.3x)</span> | 0.514ms โโโ<span style="color:green">(4.5x)</span> | 0.329ms โโโ<span style="color:green">(7.1x)</span> | 0.400ms โโโ<span style="color:green">(5.8x)</span> | 0.266ms โโโ<span style="color:green">(8.8x)</span> ๐ข | 0.379ms โโโ<span style="color:green">(6.1x)</span> | *2.330ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 10000)`*ยฒ* | 0.449ms โโโ<span style="color:green">(5.2x)</span> | 0.290ms โโโ<span style="color:green">(8.0x)</span> | 0.217ms โโ<span style="color:green">(10.6x)</span> ๐ข | 0.285ms โโโ<span style="color:green">(8.1x)</span> | 0.249ms โโโ<span style="color:green">(9.3x)</span> | 0.270ms โโโ<span style="color:green">(8.6x)</span> | *2.314ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1, 100000)` | 3.818ms โโโ<span style="color:green">(5.8x)</span> | 2.325ms โโโ<span style="color:green">(9.5x)</span> | 2.281ms โโโ<span style="color:green">(9.6x)</span> | 3.442ms โโโ<span style="color:green">(6.4x)</span> | 2.218ms โโโ<span style="color:green">(9.9x)</span> ๐ข | 2.285ms โโโ<span style="color:green">(9.6x)</span> | *21.983ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 100000)`*ยฒ* | 5.611ms โโโ<span style="color:green">(4.1x)</span> | 4.873ms โโโ<span style="color:green">(4.8x)</span> | 3.254ms โโโ<span style="color:green">(7.1x)</span> | 4.090ms โโโ<span style="color:green">(5.7x)</span> | 2.645ms โโโ<span style="color:green">(8.8x)</span> ๐ข | 3.080ms โโโ<span style="color:green">(7.5x)</span> | *23.181ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 100000)`*ยฒ* | 4.523ms โโโ<span style="color:green">(5.3x)</span> | 2.897ms โโโ<span style="color:green">(8.3x)</span> | 2.156ms โโ<span style="color:green">(11.2x)</span> | 3.541ms โโโ<span style="color:green">(6.8x)</span> | 2.201ms โโ<span style="color:green">(11.0x)</span> | 2.096ms โโ<span style="color:green">(11.5x)</span> ๐ข | *24.121ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1, 1000000)` | 60.383ms โโโ<span style="color:green">(7.0x)</span> | 36.007ms โโ<span style="color:green">(11.8x)</span> ๐ข | 36.109ms โโ<span style="color:green">(11.8x)</span> | 53.923ms โโโ<span style="color:green">(7.9x)</span> | 36.016ms โโ<span style="color:green">(11.8x)</span> | 36.542ms โโ<span style="color:green">(11.6x)</span> | *425.024ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 1000000)`*ยฒ* | 62.895ms โโโ<span style="color:green">(7.1x)</span> | 50.118ms โโโ<span style="color:green">(8.9x)</span> | 40.151ms โโ<span style="color:green">(11.1x)</span> | 50.271ms โโโ<span style="color:green">(8.8x)</span> | 39.964ms โโ<span style="color:green">(11.1x)</span> | 38.384ms โโ<span style="color:green">(11.6x)</span> ๐ข | *443.920ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 1000000)`*ยฒ* | 42.694ms โโโ<span style="color:green">(7.6x)</span> | 36.240ms โโโ<span style="color:green">(9.0x)</span> | 24.896ms โโ<span style="color:green">(13.1x)</span> | 30.771ms โโ<span style="color:green">(10.6x)</span> | 24.408ms โโ<span style="color:green">(13.3x)</span> ๐ข | 25.097ms โโ<span style="color:green">(13.0x)</span> | *325.595ms <span style="color:grey">(1.0x)</span>* ๐ |
| `AddGrow(1, 4, 1048576)`*ยณ* | 72.547ms โโโ<span style="color:green">(5.9x)</span> | 39.816ms โโ<span style="color:green">(10.7x)</span> | 39.313ms โโ<span style="color:green">(10.8x)</span> | 71.458ms โโโ<span style="color:green">(6.0x)</span> | 39.813ms โโ<span style="color:green">(10.7x)</span> | 39.265ms โโ<span style="color:green">(10.8x)</span> ๐ข | *425.495ms <span style="color:grey">(1.0x)</span>* ๐ |
| `AddGrow(1, 65536, 1048576)`*ยณ* | 68.046ms โโ<span style="color:green">(10.0x)</span> | 39.004ms โโ<span style="color:green">(17.5x)</span> | 38.764ms โโ<span style="color:green">(17.6x)</span> | 67.198ms โโ<span style="color:green">(10.2x)</span> | 38.417ms โโ<span style="color:green">(17.8x)</span> ๐ข | 38.540ms โโ<span style="color:green">(17.7x)</span> | *683.780ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 10000)` | 0.145ms โโโ<span style="color:green">(1.6x)</span> | 0.033ms โโโ<span style="color:green">(6.9x)</span> | 0.028ms โโโ<span style="color:green">(8.0x)</span> ๐ข | 0.118ms โโโ<span style="color:green">(1.9x)</span> | 0.036ms โโโ<span style="color:green">(6.3x)</span> | 0.029ms โโโ<span style="color:green">(7.9x)</span> | *0.228ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 10000)`*ยฒ* | 0.127ms โโโ<span style="color:green">(1.5x)</span> | 0.042ms โโโ<span style="color:green">(4.6x)</span> | 0.036ms โโโ<span style="color:green">(5.4x)</span> ๐ข | 0.111ms โโโ<span style="color:green">(1.8x)</span> | 0.038ms โโโ<span style="color:green">(5.2x)</span> | 0.036ms โโโ<span style="color:green">(5.3x)</span> | *0.194ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 10000)`*ยฒ* | 0.167ms โโโ<span style="color:green">(1.3x)</span> | 0.052ms โโโ<span style="color:green">(4.1x)</span> | 0.055ms โโโ<span style="color:green">(3.9x)</span> | 0.100ms โโโ<span style="color:green">(2.1x)</span> | 0.068ms โโโ<span style="color:green">(3.1x)</span> | 0.039ms โโโ<span style="color:green">(5.5x)</span> ๐ข | *0.213ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 100000)` | 2.247ms โโโ<span style="color:green">(1.5x)</span> | 0.650ms โโโ<span style="color:green">(5.0x)</span> | 0.498ms โโโ<span style="color:green">(6.6x)</span> ๐ข | 1.849ms โโโ<span style="color:green">(1.8x)</span> | 0.650ms โโโ<span style="color:green">(5.0x)</span> | 0.500ms โโโ<span style="color:green">(6.6x)</span> | *3.277ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 100000)`*ยฒ* | 1.226ms โโโ<span style="color:green">(1.4x)</span> | 0.403ms โโโ<span style="color:green">(4.4x)</span> | 0.328ms โโโ<span style="color:green">(5.4x)</span> ๐ข | 1.077ms โโโ<span style="color:green">(1.6x)</span> | 0.408ms โโโ<span style="color:green">(4.3x)</span> | 0.330ms โโโ<span style="color:green">(5.3x)</span> | *1.761ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 100000)`*ยฒ* | 1.065ms โโโ<span style="color:green">(2.2x)</span> | 0.334ms โโโ<span style="color:green">(7.0x)</span> | 0.268ms โโโ<span style="color:green">(8.7x)</span> ๐ข | 0.883ms โโโ<span style="color:green">(2.6x)</span> | 0.319ms โโโ<span style="color:green">(7.3x)</span> | 0.540ms โโโ<span style="color:green">(4.3x)</span> | *2.332ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 1000000)` | 66.122ms โโโ<span style="color:green">(1.5x)</span> | 16.585ms โโโ<span style="color:green">(5.9x)</span> | 12.089ms โโโ<span style="color:green">(8.0x)</span> ๐ข | 59.523ms โโโ<span style="color:green">(1.6x)</span> | 17.021ms โโโ<span style="color:green">(5.7x)</span> | 12.118ms โโโ<span style="color:green">(8.0x)</span> | *97.095ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 1000000)`*ยฒ* | 31.624ms โโโ<span style="color:green">(1.6x)</span> | 8.707ms โโโ<span style="color:green">(5.8x)</span> | 6.498ms โโโ<span style="color:green">(7.8x)</span> ๐ข | 29.568ms โโโ<span style="color:green">(1.7x)</span> | 8.714ms โโโ<span style="color:green">(5.8x)</span> | 6.511ms โโโ<span style="color:green">(7.8x)</span> | *50.806ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 1000000)`*ยฒ* | 25.406ms โโโ<span style="color:green">(1.7x)</span> | 6.925ms โโโ<span style="color:green">(6.3x)</span> | 5.677ms โโโ<span style="color:green">(7.7x)</span> | 22.636ms โโโ<span style="color:green">(1.9x)</span> | 6.716ms โโโ<span style="color:green">(6.5x)</span> | 5.494ms โโโ<span style="color:green">(7.9x)</span> ๐ข | *43.614ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(1, 10000)` | 0.145ms โโโ<span style="color:green">(1.6x)</span> | 0.029ms โโโ<span style="color:green">(8.1x)</span> ๐ข | 0.032ms โโโ<span style="color:green">(7.3x)</span> | 0.137ms โโโ<span style="color:green">(1.7x)</span> | 0.031ms โโโ<span style="color:green">(7.5x)</span> | 0.031ms โโโ<span style="color:green">(7.7x)</span> | *0.235ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(2, 10000)`*ยฒ* | 0.202ms โโโ<span style="color:green">(1.4x)</span> | 0.059ms โโโ<span style="color:green">(4.9x)</span> | 0.062ms โโโ<span style="color:green">(4.7x)</span> | 0.191ms โโโ<span style="color:green">(1.5x)</span> | 0.041ms โโโ<span style="color:green">(7.0x)</span> ๐ข | 0.066ms โโโ<span style="color:green">(4.4x)</span> | *0.288ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(4, 10000)`*ยฒ* | 0.581ms โโโ<span style="color:red">(0.9x)</span> ๐ | 0.129ms โโโ<span style="color:green">(3.9x)</span> | 0.098ms โโโ<span style="color:green">(5.1x)</span> | 0.264ms โโโ<span style="color:green">(1.9x)</span> | 0.071ms โโโ<span style="color:green">(7.1x)</span> ๐ข | 0.097ms โโโ<span style="color:green">(5.2x)</span> | *0.501ms <span style="color:grey">(1.0x)</span>* |
| `IndexedRead(1, 100000)` | 2.216ms โโโ<span style="color:green">(1.5x)</span> | 0.592ms โโโ<span style="color:green">(5.6x)</span> ๐ข | 0.604ms โโโ<span style="color:green">(5.5x)</span> | 2.140ms โโโ<span style="color:green">(1.5x)</span> | 0.600ms โโโ<span style="color:green">(5.5x)</span> | 0.607ms โโโ<span style="color:green">(5.4x)</span> | *3.291ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(2, 100000)`*ยฒ* | 2.416ms โโโ<span style="color:green">(1.5x)</span> | 0.698ms โโโ<span style="color:green">(5.0x)</span> | 0.692ms โโโ<span style="color:green">(5.1x)</span> ๐ข | 2.270ms โโโ<span style="color:green">(1.5x)</span> | 0.707ms โโโ<span style="color:green">(5.0x)</span> | 0.743ms โโโ<span style="color:green">(4.7x)</span> | *3.506ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(4, 100000)`*ยฒ* | 4.094ms โโโ<span style="color:green">(1.4x)</span> | 1.071ms โโโ<span style="color:green">(5.4x)</span> | 1.053ms โโโ<span style="color:green">(5.5x)</span> ๐ข | 7.214ms โโโ<span style="color:red">(0.8x)</span> ๐ | 1.058ms โโโ<span style="color:green">(5.5x)</span> | 1.794ms โโโ<span style="color:green">(3.2x)</span> | *5.780ms <span style="color:grey">(1.0x)</span>* |
| `IndexedRead(1, 1000000)` | 64.603ms โโโ<span style="color:green">(1.5x)</span> | 17.636ms โโโ<span style="color:green">(5.5x)</span> | 17.726ms โโโ<span style="color:green">(5.5x)</span> | 62.234ms โโโ<span style="color:green">(1.6x)</span> | 17.652ms โโโ<span style="color:green">(5.5x)</span> | 17.411ms โโโ<span style="color:green">(5.6x)</span> ๐ข | *96.983ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(2, 1000000)`*ยฒ* | 63.460ms โโโ<span style="color:green">(1.6x)</span> | 17.217ms โโโ<span style="color:green">(5.8x)</span> | 17.124ms โโโ<span style="color:green">(5.8x)</span> | 61.578ms โโโ<span style="color:green">(1.6x)</span> | 17.127ms โโโ<span style="color:green">(5.8x)</span> | 16.957ms โโโ<span style="color:green">(5.8x)</span> ๐ข | *99.146ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedRead(4, 1000000)`*ยฒ* | 68.243ms โโโ<span style="color:green">(1.4x)</span> | 28.318ms โโโ<span style="color:green">(3.4x)</span> | 27.812ms โโโ<span style="color:green">(3.5x)</span> | 69.192ms โโโ<span style="color:green">(1.4x)</span> | 26.990ms โโโ<span style="color:green">(3.6x)</span> ๐ข | 27.918ms โโโ<span style="color:green">(3.5x)</span> | *97.383ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(1, 10000)` | 0.164ms โโโ<span style="color:green">(2.8x)</span> | 0.051ms โโโ<span style="color:green">(9.0x)</span> | 0.041ms โโ<span style="color:green">(11.0x)</span> | 0.131ms โโโ<span style="color:green">(3.5x)</span> | 0.040ms โโ<span style="color:green">(11.4x)</span> | 0.038ms โโ<span style="color:green">(12.0x)</span> ๐ข | *0.456ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(1, 100000)` | 2.333ms โโโ<span style="color:green">(2.6x)</span> | 0.901ms โโโ<span style="color:green">(6.7x)</span> | 0.731ms โโโ<span style="color:green">(8.3x)</span> | 2.077ms โโโ<span style="color:green">(2.9x)</span> | 0.781ms โโโ<span style="color:green">(7.8x)</span> | 0.710ms โโโ<span style="color:green">(8.5x)</span> ๐ข | *6.067ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IndexedWrite(1, 1000000)` | 76.627ms โโโ<span style="color:green">(2.5x)</span> | 67.296ms โโโ<span style="color:green">(2.8x)</span> ๐ข | 68.052ms โโโ<span style="color:green">(2.8x)</span> | 85.977ms โโโ<span style="color:green">(2.2x)</span> | 68.516ms โโโ<span style="color:green">(2.8x)</span> | 69.221ms โโโ<span style="color:green">(2.8x)</span> | *191.108ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(1, 10000)` | 0.154ms โโโ<span style="color:green">(1.3x)</span> | 0.043ms โโโ<span style="color:green">(4.8x)</span> | 0.032ms โโโ<span style="color:green">(6.4x)</span> | 0.117ms โโโ<span style="color:green">(1.8x)</span> | 0.043ms โโโ<span style="color:green">(4.8x)</span> | 0.031ms โโโ<span style="color:green">(6.6x)</span> ๐ข | *0.206ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(2, 10000)`*ยฒ* | 0.125ms โโโ<span style="color:green">(1.4x)</span> | 0.045ms โโโ<span style="color:green">(3.8x)</span> | 0.036ms โโโ<span style="color:green">(4.8x)</span> ๐ข | 0.110ms โโโ<span style="color:green">(1.6x)</span> | 0.046ms โโโ<span style="color:green">(3.7x)</span> | 0.036ms โโโ<span style="color:green">(4.8x)</span> | *0.172ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(4, 10000)`*ยฒ* | 0.170ms โโโ<span style="color:red">(0.7x)</span> ๐ | 0.051ms โโโ<span style="color:green">(2.4x)</span> | 0.038ms โโโ<span style="color:green">(3.3x)</span> ๐ข | 0.103ms โโโ<span style="color:green">(1.2x)</span> | 0.078ms โโโ<span style="color:green">(1.6x)</span> | 0.039ms โโโ<span style="color:green">(3.2x)</span> | *0.125ms <span style="color:grey">(1.0x)</span>* |
| `TryGetValue(1, 100000)` | 2.187ms โโโ<span style="color:green">(1.5x)</span> | 0.839ms โโโ<span style="color:green">(4.0x)</span> | 0.616ms โโโ<span style="color:green">(5.4x)</span> ๐ข | 1.925ms โโโ<span style="color:green">(1.7x)</span> | 0.815ms โโโ<span style="color:green">(4.1x)</span> | 0.628ms โโโ<span style="color:green">(5.3x)</span> | *3.336ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(2, 100000)`*ยฒ* | 1.216ms โโโ<span style="color:green">(1.5x)</span> | 0.478ms โโโ<span style="color:green">(3.7x)</span> | 0.342ms โโโ<span style="color:green">(5.2x)</span> ๐ข | 1.072ms โโโ<span style="color:green">(1.7x)</span> | 0.489ms โโโ<span style="color:green">(3.6x)</span> | 0.391ms โโโ<span style="color:green">(4.5x)</span> | *1.769ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(4, 100000)`*ยฒ* | 1.042ms โโโ<span style="color:green">(1.7x)</span> | 0.408ms โโโ<span style="color:green">(4.3x)</span> ๐ข | 0.617ms โโโ<span style="color:green">(2.8x)</span> | 0.899ms โโโ<span style="color:green">(1.9x)</span> | 0.915ms โโโ<span style="color:green">(1.9x)</span> | 0.636ms โโโ<span style="color:green">(2.7x)</span> | *1.736ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(1, 1000000)` | 65.145ms โโโ<span style="color:green">(1.5x)</span> | 25.321ms โโโ<span style="color:green">(3.8x)</span> | 19.163ms โโโ<span style="color:green">(5.0x)</span> | 59.895ms โโโ<span style="color:green">(1.6x)</span> | 23.602ms โโโ<span style="color:green">(4.1x)</span> | 18.464ms โโโ<span style="color:green">(5.2x)</span> ๐ข | *96.395ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(2, 1000000)`*ยฒ* | 31.724ms โโโ<span style="color:green">(1.5x)</span> | 12.422ms โโโ<span style="color:green">(4.0x)</span> | 9.631ms โโโ<span style="color:green">(5.1x)</span> | 30.638ms โโโ<span style="color:green">(1.6x)</span> | 12.432ms โโโ<span style="color:green">(4.0x)</span> | 9.589ms โโโ<span style="color:green">(5.1x)</span> ๐ข | *49.107ms <span style="color:grey">(1.0x)</span>* ๐ |
| `TryGetValue(4, 1000000)`*ยฒ* | 25.831ms โโโ<span style="color:green">(1.6x)</span> | 10.070ms โโโ<span style="color:green">(4.1x)</span> | 7.992ms โโโ<span style="color:green">(5.2x)</span> ๐ข | 23.710ms โโโ<span style="color:green">(1.8x)</span> | 10.235ms โโโ<span style="color:green">(4.1x)</span> | 8.062ms โโโ<span style="color:green">(5.2x)</span> | *41.691ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 10000)` | 0.120ms โโโ<span style="color:green">(4.5x)</span> | 0.214ms โโโ<span style="color:green">(2.5x)</span> | 0.050ms โโ<span style="color:green">(11.0x)</span> | 0.095ms โโโ<span style="color:green">(5.7x)</span> | 0.050ms โโ<span style="color:green">(10.9x)</span> | 0.049ms โโ<span style="color:green">(11.1x)</span> ๐ข | *0.545ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 100000)` | 1.928ms โโโ<span style="color:green">(3.4x)</span> | 0.929ms โโโ<span style="color:green">(7.0x)</span> | 0.805ms โโโ<span style="color:green">(8.1x)</span> | 1.682ms โโโ<span style="color:green">(3.9x)</span> | 0.867ms โโโ<span style="color:green">(7.5x)</span> | 0.793ms โโโ<span style="color:green">(8.2x)</span> ๐ข | *6.512ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 1000000)` | 64.353ms โโโ<span style="color:green">(3.1x)</span> | 56.893ms โโโ<span style="color:green">(3.5x)</span> ๐ข | 57.422ms โโโ<span style="color:green">(3.4x)</span> | 62.480ms โโโ<span style="color:green">(3.1x)</span> | 57.884ms โโโ<span style="color:green">(3.4x)</span> | 57.271ms โโโ<span style="color:green">(3.4x)</span> | *196.582ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(1, 10000)` | 0.156ms โโโ<span style="color:green">(2.5x)</span> | 0.086ms โโโ<span style="color:green">(4.6x)</span> | 0.073ms โโโ<span style="color:green">(5.4x)</span> ๐ข | 0.143ms โโโ<span style="color:green">(2.7x)</span> | 0.080ms โโโ<span style="color:green">(4.9x)</span> | 0.080ms โโโ<span style="color:green">(4.9x)</span> | *0.393ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(1, 100000)` | 2.094ms โโโ<span style="color:green">(2.3x)</span> | 0.931ms โโโ<span style="color:green">(5.2x)</span> | 0.839ms โโโ<span style="color:green">(5.8x)</span> ๐ข | 1.862ms โโโ<span style="color:green">(2.6x)</span> | 0.885ms โโโ<span style="color:green">(5.5x)</span> | 0.884ms โโโ<span style="color:green">(5.5x)</span> | *4.876ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(1, 1000000)` | 28.544ms โโโ<span style="color:green">(2.0x)</span> | 11.060ms โโโ<span style="color:green">(5.1x)</span> | 10.143ms โโโ<span style="color:green">(5.6x)</span> ๐ข | 27.167ms โโโ<span style="color:green">(2.1x)</span> | 10.318ms โโโ<span style="color:green">(5.5x)</span> | 10.364ms โโโ<span style="color:green">(5.5x)</span> | *56.852ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยฒ* Benchmark run on parallel job workers - results may vary<br/>
*ยณ* AddGrow(workers, capacity, growTo) -- Incrementally grows from `capacity` until reaching size of `growTo`<br/>
---
<br/>
### *ParallelHashSet*
| Functionality | NativeParallelHashSet (S) | NativeParallelHashSet (S+B) | NativeParallelHashSet (B) | UnsafeParallelHashSet (S) | UnsafeParallelHashSet (S+B) | UnsafeParallelHashSet (B) | *HashSet w/lock (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(1, 0)`*ยน* | 0.482ms โโ<span style="color:green">(9.2x)</span> | 0.115ms โ<span style="color:green">(38.5x)</span> ๐ข | 0.176ms โ<span style="color:green">(25.1x)</span> | 0.301ms โ<span style="color:green">(14.7x)</span> | 0.183ms โ<span style="color:green">(24.2x)</span> | 0.171ms โ<span style="color:green">(25.8x)</span> | *4.422ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(2, 0)`*ยนหยฒ* | 0.244ms โ<span style="color:green">(61.6x)</span> | 0.060ms <span style="color:green">(250.7x)</span> ๐ข | 0.092ms <span style="color:green">(164.2x)</span> | 0.154ms โ<span style="color:green">(98.0x)</span> | 0.091ms <span style="color:green">(166.2x)</span> | 0.086ms <span style="color:green">(175.3x)</span> | *15.041ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(4, 0)`*ยนหยฒ* | 0.274ms <span style="color:green">(114.9x)</span> | 0.037ms <span style="color:green">(849.5x)</span> ๐ข | 0.048ms <span style="color:green">(659.1x)</span> | 0.153ms <span style="color:green">(206.3x)</span> | 0.049ms <span style="color:green">(640.4x)</span> | 0.047ms <span style="color:green">(667.5x)</span> | *31.474ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(1, 100)`*ยน* | 0.567ms โโ<span style="color:green">(7.8x)</span> | 0.128ms โ<span style="color:green">(34.7x)</span> | 0.201ms โ<span style="color:green">(22.0x)</span> | 0.401ms โ<span style="color:green">(11.0x)</span> | 0.142ms โ<span style="color:green">(31.2x)</span> | 0.108ms โ<span style="color:green">(40.9x)</span> ๐ข | *4.424ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(2, 100)`*ยนหยฒ* | 0.288ms โ<span style="color:green">(52.5x)</span> | 0.068ms <span style="color:green">(221.0x)</span> | 0.105ms <span style="color:green">(143.5x)</span> | 0.217ms โ<span style="color:green">(69.9x)</span> | 0.074ms <span style="color:green">(205.5x)</span> | 0.057ms <span style="color:green">(264.5x)</span> ๐ข | *15.128ms <span style="color:grey">(1.0x)</span>* ๐ |
| `IsEmpty_x_100k(4, 100)`*ยนหยฒ* | 0.315ms โ<span style="color:green">(99.6x)</span> | 0.072ms <span style="color:green">(437.6x)</span> | 0.058ms <span style="color:green">(538.5x)</span> | 0.185ms <span style="color:green">(169.8x)</span> | 0.046ms <span style="color:green">(686.0x)</span> | 0.037ms <span style="color:green">(842.3x)</span> ๐ข | *31.420ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(1, 0)`*ยน* | 0.535ms โโ<span style="color:green">(8.3x)</span> | 0.201ms โ<span style="color:green">(22.1x)</span> | 0.161ms โ<span style="color:green">(27.6x)</span> | 0.456ms โโ<span style="color:green">(9.7x)</span> | 0.181ms โ<span style="color:green">(24.5x)</span> | 0.161ms โ<span style="color:green">(27.6x)</span> ๐ข | *4.435ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(2, 0)`*ยนหยฒ* | 0.271ms โ<span style="color:green">(59.0x)</span> | 0.103ms <span style="color:green">(155.8x)</span> | 0.082ms <span style="color:green">(193.8x)</span> ๐ข | 0.231ms โ<span style="color:green">(69.1x)</span> | 0.093ms <span style="color:green">(171.9x)</span> | 0.083ms <span style="color:green">(192.9x)</span> | *15.965ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(4, 0)`*ยนหยฒ* | 0.224ms <span style="color:green">(173.7x)</span> | 0.115ms <span style="color:green">(337.8x)</span> | 0.049ms <span style="color:green">(789.8x)</span> ๐ข | 0.164ms <span style="color:green">(237.0x)</span> | 0.054ms <span style="color:green">(724.3x)</span> | 0.073ms <span style="color:green">(529.1x)</span> | *38.861ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(1, 100)`*ยน* | 4.426ms โโ<span style="color:grey">(1.0x)</span> | 1.620ms โโ<span style="color:green">(2.7x)</span> | 1.517ms โโ<span style="color:green">(2.9x)</span> ๐ข | 3.323ms โโ<span style="color:green">(1.3x)</span> | 1.538ms โโ<span style="color:green">(2.9x)</span> | 2.268ms โโ<span style="color:green">(2.0x)</span> | *4.438ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(2, 100)`*ยนหยฒ* | 2.462ms โโ<span style="color:green">(6.2x)</span> | 1.020ms โ<span style="color:green">(14.9x)</span> | 0.763ms โ<span style="color:green">(19.9x)</span> ๐ข | 1.683ms โโ<span style="color:green">(9.0x)</span> | 0.783ms โ<span style="color:green">(19.4x)</span> | 0.824ms โ<span style="color:green">(18.4x)</span> | *15.206ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Count_x_100k(4, 100)`*ยนหยฒ* | 1.778ms โ<span style="color:green">(18.1x)</span> | 0.848ms โ<span style="color:green">(37.9x)</span> | 0.723ms โ<span style="color:green">(44.5x)</span> | 1.556ms โ<span style="color:green">(20.7x)</span> | 0.744ms โ<span style="color:green">(43.2x)</span> | 0.665ms โ<span style="color:green">(48.4x)</span> ๐ข | *32.165ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArray(1, 10000)` | 0.039ms โโ<span style="color:red">(0.5x)</span> ๐ | 0.021ms โโ<span style="color:red">(0.8x)</span> | 0.009ms โโ<span style="color:green">(1.9x)</span> | 0.038ms โโ<span style="color:red">(0.5x)</span> | 0.021ms โโ<span style="color:red">(0.8x)</span> | 0.009ms โโ<span style="color:green">(1.9x)</span> ๐ข | *0.018ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(1, 100000)` | 0.428ms โโ<span style="color:red">(0.4x)</span> | 0.202ms โโ<span style="color:red">(0.9x)</span> | 0.084ms โโ<span style="color:green">(2.1x)</span> ๐ข | 0.437ms โโ<span style="color:red">(0.4x)</span> ๐ | 0.202ms โโ<span style="color:red">(0.9x)</span> | 0.084ms โโ<span style="color:green">(2.1x)</span> ๐ข | *0.175ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(1, 1000000)` | 4.489ms โโ<span style="color:red">(0.4x)</span> | 2.192ms โโ<span style="color:red">(0.9x)</span> | 1.051ms โโ<span style="color:green">(1.9x)</span> ๐ข | 4.690ms โโ<span style="color:red">(0.4x)</span> ๐ | 2.187ms โโ<span style="color:red">(0.9x)</span> | 1.053ms โโ<span style="color:green">(1.9x)</span> | *1.964ms <span style="color:grey">(1.0x)</span>* |
| `Insert(1, 10000)` | 0.330ms โ<span style="color:green">(11.3x)</span> | 0.188ms โ<span style="color:green">(19.7x)</span> | 0.196ms โ<span style="color:green">(19.0x)</span> | 0.301ms โ<span style="color:green">(12.4x)</span> | 0.186ms โ<span style="color:green">(20.0x)</span> ๐ข | 0.202ms โ<span style="color:green">(18.4x)</span> | *3.715ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 10000)`*ยฒ* | 0.468ms โ<span style="color:green">(33.2x)</span> | 0.487ms โ<span style="color:green">(31.9x)</span> | 0.264ms โ<span style="color:green">(58.9x)</span> | 0.317ms โ<span style="color:green">(49.0x)</span> | 0.260ms โ<span style="color:green">(59.8x)</span> ๐ข | 0.331ms โ<span style="color:green">(47.0x)</span> | *15.537ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 10000)`*ยฒ* | 0.285ms <span style="color:green">(168.3x)</span> | 0.319ms <span style="color:green">(150.7x)</span> | 0.169ms <span style="color:green">(283.9x)</span> ๐ข | 0.244ms <span style="color:green">(196.6x)</span> | 0.207ms <span style="color:green">(231.4x)</span> | 0.225ms <span style="color:green">(212.9x)</span> | *48.000ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1, 100000)` | 3.300ms โโ<span style="color:green">(1.8x)</span> | 1.880ms โโ<span style="color:green">(3.1x)</span> | 1.957ms โโ<span style="color:green">(3.0x)</span> | 3.014ms โโ<span style="color:green">(1.9x)</span> | 1.857ms โโ<span style="color:green">(3.2x)</span> ๐ข | 2.079ms โโ<span style="color:green">(2.8x)</span> | *5.872ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 100000)`*ยฒ* | 4.849ms โโ<span style="color:green">(3.2x)</span> | 4.541ms โโ<span style="color:green">(3.4x)</span> | 2.555ms โโ<span style="color:green">(6.1x)</span> ๐ข | 3.014ms โโ<span style="color:green">(5.1x)</span> | 3.288ms โโ<span style="color:green">(4.7x)</span> | 3.275ms โโ<span style="color:green">(4.7x)</span> | *15.510ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 100000)`*ยฒ* | 2.759ms โ<span style="color:green">(16.9x)</span> | 2.462ms โ<span style="color:green">(19.0x)</span> | 1.494ms โ<span style="color:green">(31.3x)</span> ๐ข | 2.236ms โ<span style="color:green">(20.9x)</span> | 2.221ms โ<span style="color:green">(21.0x)</span> | 1.804ms โ<span style="color:green">(25.9x)</span> | *46.684ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(1, 1000000)` | 33.989ms โโ<span style="color:green">(1.8x)</span> | 19.882ms โโ<span style="color:green">(3.1x)</span> | 20.803ms โโ<span style="color:green">(3.0x)</span> | 31.233ms โโ<span style="color:green">(2.0x)</span> | 19.637ms โโ<span style="color:green">(3.1x)</span> ๐ข | 20.789ms โโ<span style="color:green">(3.0x)</span> | *61.451ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(2, 1000000)`*ยฒ* | 48.854ms โโ<span style="color:green">(1.4x)</span> | 46.969ms โโ<span style="color:green">(1.5x)</span> | 27.594ms โโ<span style="color:green">(2.5x)</span> ๐ข | 31.891ms โโ<span style="color:green">(2.2x)</span> | 33.639ms โโ<span style="color:green">(2.1x)</span> | 35.067ms โโ<span style="color:green">(2.0x)</span> | *70.068ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Insert(4, 1000000)`*ยฒ* | 32.946ms โโ<span style="color:green">(2.8x)</span> | 28.736ms โโ<span style="color:green">(3.2x)</span> | 18.753ms โโ<span style="color:green">(4.9x)</span> ๐ข | 21.186ms โโ<span style="color:green">(4.3x)</span> | 24.702ms โโ<span style="color:green">(3.7x)</span> | 21.382ms โโ<span style="color:green">(4.3x)</span> | *91.349ms <span style="color:grey">(1.0x)</span>* ๐ |
| `AddGrow(1, 4, 1048576)`*ยณ* | 36.009ms โโ<span style="color:green">(1.8x)</span> | 12.228ms โโ<span style="color:green">(5.4x)</span> | 11.699ms โโ<span style="color:green">(5.6x)</span> ๐ข | 34.592ms โโ<span style="color:green">(1.9x)</span> | 11.898ms โโ<span style="color:green">(5.5x)</span> | 11.875ms โโ<span style="color:green">(5.6x)</span> | *65.912ms <span style="color:grey">(1.0x)</span>* ๐ |
| `AddGrow(1, 65536, 1048576)`*ยณ* | 33.973ms โโ<span style="color:green">(1.7x)</span> | 11.863ms โโ<span style="color:green">(4.9x)</span> | 11.247ms โโ<span style="color:green">(5.2x)</span> | 32.550ms โโ<span style="color:green">(1.8x)</span> | 11.464ms โโ<span style="color:green">(5.1x)</span> | 11.203ms โโ<span style="color:green">(5.2x)</span> ๐ข | *58.064ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 10000)` | 0.109ms โโ<span style="color:green">(5.6x)</span> | 0.019ms โ<span style="color:green">(32.3x)</span> | 0.013ms โ<span style="color:green">(47.2x)</span> | 0.095ms โโ<span style="color:green">(6.4x)</span> | 0.017ms โ<span style="color:green">(35.8x)</span> | 0.010ms โ<span style="color:green">(60.2x)</span> ๐ข | *0.611ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 10000)`*ยฒ* | 0.101ms <span style="color:green">(141.6x)</span> | 0.019ms <span style="color:green">(749.5x)</span> ๐ข | 0.021ms <span style="color:green">(683.2x)</span> | 0.060ms <span style="color:green">(239.8x)</span> | 0.019ms <span style="color:green">(747.6x)</span> | 0.021ms <span style="color:green">(683.2x)</span> | *14.279ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 10000)`*ยฒ* | 0.098ms <span style="color:green">(128.3x)</span> | 0.031ms <span style="color:green">(402.6x)</span> | 0.023ms <span style="color:green">(559.2x)</span> | 0.057ms <span style="color:green">(219.8x)</span> | 0.021ms <span style="color:green">(607.8x)</span> ๐ข | 0.022ms <span style="color:green">(561.7x)</span> | *12.582ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 100000)` | 1.531ms โโ<span style="color:green">(4.6x)</span> | 0.284ms โ<span style="color:green">(24.8x)</span> | 0.191ms โ<span style="color:green">(36.8x)</span> | 1.345ms โโ<span style="color:green">(5.2x)</span> | 0.300ms โ<span style="color:green">(23.5x)</span> | 0.191ms โ<span style="color:green">(36.9x)</span> ๐ข | *7.043ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 100000)`*ยฒ* | 0.925ms โ<span style="color:green">(23.2x)</span> | 0.225ms โ<span style="color:green">(95.8x)</span> | 0.165ms <span style="color:green">(130.4x)</span> ๐ข | 0.827ms โ<span style="color:green">(26.0x)</span> | 0.227ms โ<span style="color:green">(94.7x)</span> | 0.166ms <span style="color:green">(129.7x)</span> | *21.506ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 100000)`*ยฒ* | 0.717ms โ<span style="color:green">(46.9x)</span> | 0.204ms <span style="color:green">(164.7x)</span> | 0.120ms <span style="color:green">(279.4x)</span> ๐ข | 0.689ms โ<span style="color:green">(48.8x)</span> | 0.389ms โ<span style="color:green">(86.5x)</span> | 0.275ms <span style="color:green">(122.2x)</span> | *33.617ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(1, 1000000)` | 18.170ms โโ<span style="color:green">(4.5x)</span> | 3.754ms โ<span style="color:green">(21.7x)</span> | 2.522ms โ<span style="color:green">(32.4x)</span> | 16.496ms โโ<span style="color:green">(4.9x)</span> | 3.749ms โ<span style="color:green">(21.8x)</span> | 2.491ms โ<span style="color:green">(32.8x)</span> ๐ข | *81.628ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(2, 1000000)`*ยฒ* | 11.131ms โโ<span style="color:green">(7.8x)</span> | 2.652ms โ<span style="color:green">(32.7x)</span> | 2.045ms โ<span style="color:green">(42.5x)</span> ๐ข | 9.589ms โโ<span style="color:green">(9.1x)</span> | 2.733ms โ<span style="color:green">(31.8x)</span> | 2.076ms โ<span style="color:green">(41.8x)</span> | *86.828ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Contains(4, 1000000)`*ยฒ* | 8.584ms โ<span style="color:green">(12.8x)</span> | 3.407ms โ<span style="color:green">(32.3x)</span> | 2.220ms โ<span style="color:green">(49.5x)</span> | 8.219ms โ<span style="color:green">(13.4x)</span> | 2.053ms โ<span style="color:green">(53.5x)</span> ๐ข | 2.324ms โ<span style="color:green">(47.3x)</span> | *109.936ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 10000)` | 0.139ms โโ<span style="color:green">(4.4x)</span> | 0.065ms โโ<span style="color:green">(9.3x)</span> | 0.059ms โ<span style="color:green">(10.3x)</span> ๐ข | 0.110ms โโ<span style="color:green">(5.6x)</span> | 0.061ms โ<span style="color:green">(10.0x)</span> | 0.060ms โ<span style="color:green">(10.2x)</span> | *0.611ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 100000)` | 1.694ms โโ<span style="color:green">(3.9x)</span> | 0.798ms โโ<span style="color:green">(8.4x)</span> | 0.689ms โโ<span style="color:green">(9.7x)</span> ๐ข | 1.314ms โโ<span style="color:green">(5.1x)</span> | 0.707ms โโ<span style="color:green">(9.5x)</span> | 0.695ms โโ<span style="color:green">(9.6x)</span> | *6.684ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Remove(1, 1000000)` | 20.302ms โโ<span style="color:green">(3.7x)</span> | 9.389ms โโ<span style="color:green">(8.0x)</span> | 7.772ms โโ<span style="color:green">(9.7x)</span> ๐ข | 15.004ms โโ<span style="color:green">(5.0x)</span> | 8.087ms โโ<span style="color:green">(9.3x)</span> | 7.788ms โโ<span style="color:green">(9.6x)</span> | *75.082ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(1, 10000)` | 0.097ms โโ<span style="color:red">(0.4x)</span> ๐ | 0.024ms โโ<span style="color:green">(1.4x)</span> | 0.018ms โโ<span style="color:green">(1.9x)</span> | 0.068ms โโ<span style="color:red">(0.5x)</span> | 0.018ms โโ<span style="color:green">(2.0x)</span> ๐ข | 0.018ms โโ<span style="color:green">(2.0x)</span> | *0.035ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(1, 100000)` | 0.929ms โโ<span style="color:red">(0.4x)</span> ๐ | 0.208ms โโ<span style="color:green">(1.7x)</span> | 0.145ms โโ<span style="color:green">(2.4x)</span> | 0.605ms โโ<span style="color:red">(0.6x)</span> | 0.144ms โโ<span style="color:green">(2.4x)</span> ๐ข | 0.144ms โโ<span style="color:green">(2.4x)</span> | *0.344ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(1, 1000000)` | 9.214ms โโ<span style="color:red">(0.4x)</span> ๐ | 2.094ms โโ<span style="color:green">(1.7x)</span> | 1.470ms โโ<span style="color:green">(2.5x)</span> | 5.994ms โโ<span style="color:red">(0.6x)</span> | 1.462ms โโ<span style="color:green">(2.5x)</span> ๐ข | 1.491ms โโ<span style="color:green">(2.4x)</span> | *3.611ms <span style="color:grey">(1.0x)</span>* |
| `UnionWith(1, 10000)` | 0.539ms โโ<span style="color:red">(0.4x)</span> ๐ | 0.227ms โโ<span style="color:green">(1.1x)</span> | 0.216ms โโ<span style="color:green">(1.1x)</span> | 0.490ms โโ<span style="color:red">(0.5x)</span> | 0.214ms โโ<span style="color:green">(1.1x)</span> ๐ข | 0.214ms โโ<span style="color:green">(1.1x)</span> | *0.242ms <span style="color:grey">(1.0x)</span>* |
| `UnionWith(1, 100000)` | 5.532ms โโ<span style="color:red">(0.5x)</span> ๐ | 2.397ms โโ<span style="color:green">(1.1x)</span> | 2.465ms โโ<span style="color:green">(1.1x)</span> | 4.955ms โโ<span style="color:red">(0.5x)</span> | 2.263ms โโ<span style="color:green">(1.2x)</span> | 2.242ms โโ<span style="color:green">(1.2x)</span> ๐ข | *2.687ms <span style="color:grey">(1.0x)</span>* |
| `UnionWith(1, 1000000)` | 79.156ms โโ<span style="color:red">(0.6x)</span> ๐ | 41.627ms โโ<span style="color:green">(1.2x)</span> | 36.230ms โโ<span style="color:green">(1.4x)</span> | 72.721ms โโ<span style="color:red">(0.7x)</span> | 36.150ms โโ<span style="color:green">(1.4x)</span> ๐ข | 36.708ms โโ<span style="color:green">(1.3x)</span> | *48.928ms <span style="color:grey">(1.0x)</span>* |
| `IntersectWith(1, 10000)` | 0.318ms โโ<span style="color:red">(0.9x)</span> ๐ | 0.135ms โโ<span style="color:green">(2.1x)</span> | 0.118ms โโ<span style="color:green">(2.4x)</span> | 0.264ms โโ<span style="color:green">(1.1x)</span> | 0.110ms โโ<span style="color:green">(2.6x)</span> ๐ข | 0.112ms โโ<span style="color:green">(2.5x)</span> | *0.286ms <span style="color:grey">(1.0x)</span>* |
| `IntersectWith(1, 100000)` | 3.460ms โโ<span style="color:red">(0.9x)</span> ๐ | 1.490ms โโ<span style="color:green">(2.0x)</span> | 1.322ms โโ<span style="color:green">(2.2x)</span> | 2.881ms โโ<span style="color:grey">(1.0x)</span> | 1.259ms โโ<span style="color:green">(2.4x)</span> ๐ข | 1.280ms โโ<span style="color:green">(2.3x)</span> | *2.963ms <span style="color:grey">(1.0x)</span>* |
| `IntersectWith(1, 1000000)` | 50.949ms โโ<span style="color:green">(1.3x)</span> | 18.330ms โโ<span style="color:green">(3.6x)</span> | 16.081ms โโ<span style="color:green">(4.1x)</span> | 41.292ms โโ<span style="color:green">(1.6x)</span> | 15.816ms โโ<span style="color:green">(4.1x)</span> ๐ข | 15.828ms โโ<span style="color:green">(4.1x)</span> | *65.453ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ExceptWith(1, 10000)` | 0.269ms โโ<span style="color:red">(0.9x)</span> ๐ | 0.213ms โโ<span style="color:green">(1.1x)</span> | 0.118ms โโ<span style="color:green">(2.0x)</span> | 0.197ms โโ<span style="color:green">(1.2x)</span> | 0.115ms โโ<span style="color:green">(2.0x)</span> | 0.112ms โโ<span style="color:green">(2.1x)</span> ๐ข | *0.230ms <span style="color:grey">(1.0x)</span>* |
| `ExceptWith(1, 100000)` | 2.960ms โโ<span style="color:red">(0.8x)</span> ๐ | 1.408ms โโ<span style="color:green">(1.8x)</span> | 1.335ms โโ<span style="color:green">(1.8x)</span> | 2.181ms โโ<span style="color:green">(1.1x)</span> | 1.320ms โโ<span style="color:green">(1.9x)</span> | 1.280ms โโ<span style="color:green">(1.9x)</span> ๐ข | *2.467ms <span style="color:grey">(1.0x)</span>* |
| `ExceptWith(1, 1000000)` | 40.054ms โโ<span style="color:grey">(1.0x)</span> | 20.188ms โโ<span style="color:green">(2.0x)</span> | 18.223ms โโ<span style="color:green">(2.2x)</span> | 30.004ms โโ<span style="color:green">(1.4x)</span> | 18.972ms โโ<span style="color:green">(2.2x)</span> | 17.592ms โโ<span style="color:green">(2.3x)</span> ๐ข | *40.898ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยฒ* Benchmark run on parallel job workers - results may vary<br/>
*ยณ* AddGrow(workers, capacity, growTo) -- Incrementally grows from `capacity` until reaching size of `growTo`<br/>
---
<br/>
### *QueueParallelWriter*
| Functionality | NativeQueueParallelWriter (S) | NativeQueueParallelWriter (S+B) | NativeQueueParallelWriter (B) | UnsafeQueueParallelWriter (S) | UnsafeQueueParallelWriter (S+B) | UnsafeQueueParallelWriter (B) | *ConcurrentQueue (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `EnqueueGrow(1, 10000)`*ยณ* | 0.063ms โโ<span style="color:green">(1.8x)</span> | 0.037ms โโ<span style="color:green">(3.1x)</span> | 0.027ms โโ<span style="color:green">(4.2x)</span> ๐ข | --- | --- | --- | *0.112ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(2, 10000)`*ยฒหยณ* | 0.036ms โโ<span style="color:green">(3.8x)</span> | 0.032ms โโ<span style="color:green">(4.3x)</span> | 0.022ms โโ<span style="color:green">(6.3x)</span> ๐ข | --- | --- | --- | *0.136ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(4, 10000)`*ยฒหยณ* | 0.041ms โโ<span style="color:green">(5.0x)</span> | 0.023ms โโ<span style="color:green">(9.1x)</span> ๐ข | 0.028ms โโ<span style="color:green">(7.4x)</span> | --- | --- | --- | *0.205ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(1, 100000)`*ยณ* | 1.111ms โโ<span style="color:grey">(1.0x)</span> ๐ | 0.196ms โโ<span style="color:green">(5.5x)</span> ๐ข | 0.249ms โโ<span style="color:green">(4.3x)</span> | --- | --- | --- | *1.069ms <span style="color:grey">(1.0x)</span>* |
| `EnqueueGrow(2, 100000)`*ยฒหยณ* | 0.353ms โ<span style="color:green">(43.1x)</span> | 0.129ms <span style="color:green">(118.3x)</span> ๐ข | 0.141ms <span style="color:green">(107.9x)</span> | --- | --- | --- | *15.233ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(4, 100000)`*ยฒหยณ* | 0.359ms <span style="color:green">(128.0x)</span> | 0.119ms <span style="color:green">(384.9x)</span> | 0.101ms <span style="color:green">(455.1x)</span> ๐ข | --- | --- | --- | *45.962ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(1, 1000000)`*ยณ* | 6.964ms โโ<span style="color:green">(1.5x)</span> | 1.971ms โโ<span style="color:green">(5.3x)</span> ๐ข | 2.470ms โโ<span style="color:green">(4.2x)</span> | --- | --- | --- | *10.493ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(2, 1000000)`*ยฒหยณ* | 3.587ms โโ<span style="color:green">(4.2x)</span> | 1.264ms โ<span style="color:green">(12.0x)</span> ๐ข | 1.353ms โ<span style="color:green">(11.2x)</span> | --- | --- | --- | *15.213ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(4, 1000000)`*ยฒหยณ* | 3.119ms โ<span style="color:green">(14.9x)</span> | 1.036ms โ<span style="color:green">(44.8x)</span> | 0.915ms โ<span style="color:green">(50.7x)</span> ๐ข | --- | --- | --- | *46.400ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(1, 10000)`*โด* | 0.063ms โโ<span style="color:green">(1.8x)</span> | 0.014ms โโ<span style="color:green">(8.0x)</span> ๐ข | 0.019ms โโ<span style="color:green">(5.9x)</span> | --- | --- | --- | *0.112ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(2, 10000)`*ยฒหโด* | 0.043ms โโ<span style="color:green">(3.1x)</span> | 0.015ms โโ<span style="color:green">(8.7x)</span> | 0.013ms โ<span style="color:green">(10.1x)</span> ๐ข | --- | --- | --- | *0.132ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(4, 10000)`*ยฒหโด* | 0.036ms โโ<span style="color:green">(5.7x)</span> | 0.017ms โ<span style="color:green">(11.8x)</span> | 0.016ms โ<span style="color:green">(13.0x)</span> ๐ข | --- | --- | --- | *0.203ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(1, 100000)`*โด* | 0.628ms โโ<span style="color:green">(1.7x)</span> | 0.244ms โโ<span style="color:green">(4.4x)</span> | 0.187ms โโ<span style="color:green">(5.7x)</span> ๐ข | --- | --- | --- | *1.068ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(2, 100000)`*ยฒหโด* | 0.329ms โ<span style="color:green">(46.3x)</span> | 0.142ms <span style="color:green">(107.6x)</span> | 0.107ms <span style="color:green">(142.5x)</span> ๐ข | --- | --- | --- | *15.253ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(4, 100000)`*ยฒหโด* | 0.305ms <span style="color:green">(154.5x)</span> | 0.077ms <span style="color:green">(611.1x)</span> | 0.061ms <span style="color:green">(767.5x)</span> ๐ข | --- | --- | --- | *47.086ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(1, 1000000)`*โด* | 6.283ms โโ<span style="color:green">(1.7x)</span> | 1.374ms โโ<span style="color:green">(7.6x)</span> ๐ข | 1.869ms โโ<span style="color:green">(5.6x)</span> | --- | --- | --- | *10.486ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(2, 1000000)`*ยฒหโด* | 3.268ms โโ<span style="color:green">(4.7x)</span> | 0.896ms โ<span style="color:green">(17.0x)</span> ๐ข | 1.029ms โ<span style="color:green">(14.8x)</span> | --- | --- | --- | *15.201ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(4, 1000000)`*ยฒหโด* | 2.931ms โ<span style="color:green">(15.8x)</span> | 0.638ms โ<span style="color:green">(72.4x)</span> ๐ข | 0.697ms โ<span style="color:green">(66.3x)</span> | --- | --- | --- | *46.225ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยฒ* Benchmark run on parallel job workers - results may vary<br/>
*ยณ* EnqueueGrow(workers, insertions)<br/>
*โด* Enqueue(workers, insertions)<br/>
---
<br/>
### *Queue*
| Functionality | NativeQueue (S) | NativeQueue (S+B) | NativeQueue (B) | UnsafeQueue (S) | UnsafeQueue (S+B) | UnsafeQueue (B) | *Queue (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(0)`*ยน* | 0.482ms โ<span style="color:red">(0.2x)</span> ๐ | 0.181ms โ<span style="color:red">(0.6x)</span> | 0.161ms โ<span style="color:red">(0.6x)</span> | 0.232ms โ<span style="color:red">(0.4x)</span> | 0.000ms โ<span style="color:green">(334.3x)</span> ๐ข | 0.000ms โ<span style="color:green">(334.3x)</span> ๐ข | *0.100ms <span style="color:grey">(1.0x)</span>* |
| `IsEmpty_x_100k(100)`*ยน* | 0.503ms โ<span style="color:red">(0.2x)</span> ๐ | 0.188ms โ<span style="color:red">(0.5x)</span> | 0.141ms โ<span style="color:red">(0.7x)</span> | 0.241ms โ<span style="color:red">(0.4x)</span> | 0.000ms โ<span style="color:green">(334.3x)</span> ๐ข | 0.000ms โ<span style="color:green">(334.3x)</span> ๐ข | *0.100ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(0)`*ยน* | 0.313ms โ<span style="color:red">(0.4x)</span> ๐ | 0.193ms โ<span style="color:red">(0.6x)</span> | 0.161ms โ<span style="color:red">(0.7x)</span> | 0.189ms โ<span style="color:red">(0.6x)</span> | 0.000ms โ<span style="color:green">(401.2x)</span> ๐ข | 0.000ms โ<span style="color:green">(401.2x)</span> ๐ข | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(100)`*ยน* | 0.351ms โ<span style="color:red">(0.3x)</span> ๐ | 0.181ms โ<span style="color:red">(0.7x)</span> | 0.141ms โ<span style="color:red">(0.9x)</span> | 0.231ms โ<span style="color:red">(0.5x)</span> | 0.000ms โ<span style="color:green">(401.2x)</span> ๐ข | 0.000ms โ<span style="color:green">(343.9x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(10000)` | 0.003ms โ<span style="color:green">(1.2x)</span> | 0.002ms โ<span style="color:green">(1.7x)</span> | 0.002ms โ<span style="color:green">(1.7x)</span> | 0.002ms โ<span style="color:green">(1.8x)</span> ๐ข | 0.002ms โโโ<span style="color:green">(1.8x)</span> | 0.002ms โโโ<span style="color:green">(1.8x)</span> ๐ข | *0.003ms <span style="color:grey">(1.0x)</span>* ๐ |
| `ToNativeArray(100000)` | 0.096ms โ<span style="color:red">(0.3x)</span> ๐ | 0.016ms โ<span style="color:green">(1.9x)</span> | 0.015ms โ<span style="color:green">(1.9x)</span> | 0.089ms โ<span style="color:red">(0.3x)</span> | 0.015ms โโโ<span style="color:green">(1.9x)</span> ๐ข | 0.015ms โโโ<span style="color:green">(1.9x)</span> | *0.029ms <span style="color:grey">(1.0x)</span>* |
| `ToNativeArray(1000000)` | 0.991ms โ<span style="color:red">(0.8x)</span> ๐ | 0.197ms โ<span style="color:green">(4.1x)</span> | 0.163ms โ<span style="color:green">(5.0x)</span> | 0.897ms โ<span style="color:red">(0.9x)</span> | 0.156ms โโโ<span style="color:green">(5.2x)</span> ๐ข | 0.161ms โโโ<span style="color:green">(5.0x)</span> | *0.814ms <span style="color:grey">(1.0x)</span>* |
| `EnqueueGrow(10000)`*ยณ* | 0.060ms <span style="color:green">(23.4x)</span> | 0.025ms <span style="color:green">(57.2x)</span> | 0.024ms <span style="color:green">(59.1x)</span> ๐ข | 0.045ms <span style="color:green">(31.3x)</span> | 0.025ms โโ<span style="color:green">(56.4x)</span> | 0.026ms โโ<span style="color:green">(55.1x)</span> | *1.414ms <span style="color:grey">(1.0x)</span>* ๐ |
| `EnqueueGrow(100000)`*ยณ* | 0.657ms โ<span style="color:red">(0.6x)</span> ๐ | 0.249ms โ<span style="color:green">(1.6x)</span> | 0.231ms โ<span style="color:green">(1.8x)</span> ๐ข | 0.445ms โ<span style="color:red">(0.9x)</span> | 0.241ms โโโ<span style="color:green">(1.7x)</span> | 0.248ms โโโ<span style="color:green">(1.6x)</span> | *0.407ms <span style="color:grey">(1.0x)</span>* |
| `EnqueueGrow(1000000)`*ยณ* | 6.580ms โ<span style="color:red">(0.6x)</span> ๐ | 2.452ms โ<span style="color:green">(1.6x)</span> | 2.340ms โ<span style="color:green">(1.7x)</span> ๐ข | 4.509ms โ<span style="color:red">(0.9x)</span> | 2.473ms โโโ<span style="color:green">(1.6x)</span> | 2.509ms โโโ<span style="color:green">(1.6x)</span> | *3.931ms <span style="color:grey">(1.0x)</span>* |
| `Enqueue(10000)`*โด* | 0.060ms โ<span style="color:red">(0.8x)</span> ๐ | 0.019ms โ<span style="color:green">(2.4x)</span> | 0.018ms โ<span style="color:green">(2.5x)</span> ๐ข | 0.039ms โ<span style="color:green">(1.2x)</span> | 0.020ms โโโ<span style="color:green">(2.3x)</span> | 0.020ms โโโ<span style="color:green">(2.2x)</span> | *0.046ms <span style="color:grey">(1.0x)</span>* |
| `Enqueue(100000)`*โด* | 0.599ms โ<span style="color:red">(0.7x)</span> ๐ | 0.193ms โ<span style="color:green">(2.1x)</span> | 0.180ms โ<span style="color:green">(2.3x)</span> ๐ข | 0.392ms โ<span style="color:grey">(1.0x)</span> | 0.198ms โโโ<span style="color:green">(2.1x)</span> | 0.196ms โโโ<span style="color:green">(2.1x)</span> | *0.407ms <span style="color:grey">(1.0x)</span>* |
| `Enqueue(1000000)`*โด* | 5.989ms โ<span style="color:red">(0.7x)</span> ๐ | 2.048ms โ<span style="color:green">(1.9x)</span> | 1.801ms โ<span style="color:green">(2.2x)</span> ๐ข | 3.933ms โ<span style="color:grey">(1.0x)</span> | 2.010ms โโโ<span style="color:green">(2.0x)</span> | 2.011ms โโโ<span style="color:green">(2.0x)</span> | *3.933ms <span style="color:grey">(1.0x)</span>* |
| `Dequeue(10000)` | 0.066ms โ<span style="color:red">(0.6x)</span> ๐ | 0.025ms โ<span style="color:green">(1.4x)</span> | 0.016ms โ<span style="color:green">(2.4x)</span> ๐ข | 0.045ms โ<span style="color:red">(0.8x)</span> | 0.017ms โโโ<span style="color:green">(2.2x)</span> | 0.017ms โโโ<span style="color:green">(2.2x)</span> | *0.037ms <span style="color:grey">(1.0x)</span>* |
| `Dequeue(100000)` | 0.664ms โ<span style="color:red">(0.6x)</span> ๐ | 0.248ms โ<span style="color:green">(1.5x)</span> | 0.151ms โ<span style="color:green">(2.4x)</span> ๐ข | 0.455ms โ<span style="color:red">(0.8x)</span> | 0.158ms โโโ<span style="color:green">(2.3x)</span> | 0.159ms โโโ<span style="color:green">(2.3x)</span> | *0.369ms <span style="color:grey">(1.0x)</span>* |
| `Dequeue(1000000)` | 6.640ms โ<span style="color:red">(0.6x)</span> ๐ | 2.479ms โ<span style="color:green">(1.5x)</span> | 1.503ms โ<span style="color:green">(2.5x)</span> ๐ข | 4.551ms โ<span style="color:red">(0.8x)</span> | 1.578ms โโโ<span style="color:green">(2.3x)</span> | 1.589ms โโโ<span style="color:green">(2.3x)</span> | *3.690ms <span style="color:grey">(1.0x)</span>* |
| `Peek(10000)`*ยน* | 0.030ms โ<span style="color:red">(0.6x)</span> ๐ | 0.023ms โ<span style="color:red">(0.8x)</span> | 0.014ms โ<span style="color:green">(1.3x)</span> | 0.012ms โ<span style="color:green">(1.5x)</span> | 0.000ms โโ<span style="color:green">(45.4x)</span> ๐ข | 0.000ms โโ<span style="color:green">(45.4x)</span> ๐ข | *0.018ms <span style="color:grey">(1.0x)</span>* |
| `Peek(100000)`*ยน* | 0.302ms โ<span style="color:red">(0.6x)</span> ๐ | 0.222ms โ<span style="color:red">(0.8x)</span> | 0.134ms โ<span style="color:green">(1.4x)</span> | 0.121ms โ<span style="color:green">(1.5x)</span> | 0.001ms โ<span style="color:green">(278.8x)</span> ๐ข | 0.001ms โ<span style="color:green">(258.9x)</span> | *0.181ms <span style="color:grey">(1.0x)</span>* |
| `Peek(1000000)`*ยน* | 3.016ms โ<span style="color:red">(0.6x)</span> ๐ | 2.213ms โ<span style="color:red">(0.8x)</span> | 1.369ms โ<span style="color:green">(1.3x)</span> | 1.205ms โ<span style="color:green">(1.5x)</span> | 0.001ms <span style="color:green">(2127.8x)</span> | 0.001ms <span style="color:green">(2260.8x)</span> ๐ข | *1.809ms <span style="color:grey">(1.0x)</span>* |
| `Foreach(10000)` | 0.028ms โ<span style="color:green">(1.5x)</span> | 0.009ms โ<span style="color:green">(4.9x)</span> | 0.007ms โ<span style="color:green">(6.4x)</span> | 0.018ms โ<span style="color:green">(2.3x)</span> | 0.003ms โโ<span style="color:green">(13.9x)</span> | 0.003ms โโ<span style="color:green">(14.1x)</span> ๐ข | *0.042ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(100000)` | 0.283ms โ<span style="color:green">(1.5x)</span> | 0.082ms โ<span style="color:green">(5.2x)</span> | 0.062ms โ<span style="color:green">(6.9x)</span> | 0.182ms โ<span style="color:green">(2.3x)</span> | 0.027ms โโ<span style="color:green">(15.5x)</span> ๐ข | 0.027ms โโ<span style="color:green">(15.5x)</span> ๐ข | *0.425ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Foreach(1000000)` | 2.833ms โ<span style="color:green">(1.5x)</span> | 0.812ms โ<span style="color:green">(5.2x)</span> | 0.612ms โ<span style="color:green">(6.9x)</span> | 1.819ms โ<span style="color:green">(2.3x)</span> | 0.267ms โโ<span style="color:green">(15.9x)</span> | 0.267ms โโ<span style="color:green">(15.9x)</span> ๐ข | *4.250ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยน* Optimizations were disabled to perform this benchmark<br/>
*ยณ* EnqueueGrow(insertions)<br/>
*โด* Enqueue(insertions)<br/>
---
<br/>
### *RingQueue*
| Functionality | NativeRingQueue (S) | NativeRingQueue (S+B) | NativeRingQueue (B) | UnsafeRingQueue (S) | UnsafeRingQueue (S+B) | UnsafeRingQueue (B) | *Queue (BCL)* |
|---|--:|--:|--:|--:|--:|--:|--:|
| `IsEmpty_x_100k(0)`*ยน* | 0.174ms <span style="color:red">(0.7x)</span> ๐ | 0.108ms <span style="color:green">(1.1x)</span> ๐ข | 0.108ms <span style="color:green">(1.1x)</span> ๐ข | 0.121ms <span style="color:grey">(1.0x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | 0.110ms <span style="color:green">(1.1x)</span> | *0.121ms <span style="color:grey">(1.0x)</span>* |
| `IsEmpty_x_100k(100)`*ยน* | 0.161ms <span style="color:red">(0.8x)</span> ๐ | 0.108ms <span style="color:green">(1.1x)</span> | 0.108ms <span style="color:green">(1.1x)</span> ๐ข | 0.120ms <span style="color:grey">(1.0x)</span> | 0.111ms <span style="color:green">(1.1x)</span> | 0.110ms <span style="color:green">(1.1x)</span> | *0.120ms <span style="color:grey">(1.0x)</span>* |
| `Count_x_100k(0)`*ยน* | 0.192ms <span style="color:red">(0.5x)</span> ๐ | 0.142ms <span style="color:red">(0.7x)</span> | 0.108ms <span style="color:red">(0.9x)</span> | 0.120ms <span style="color:red">(0.8x)</span> | 0.111ms <span style="color:red">(0.9x)</span> | 0.111ms <span style="color:red">(0.9x)</span> | *0.101ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Count_x_100k(100)`*ยน* | 0.188ms <span style="color:red">(0.5x)</span> ๐ | 0.143ms <span style="color:red">(0.7x)</span> | 0.110ms <span style="color:red">(0.9x)</span> | 0.120ms <span style="color:red">(0.8x)</span> | 0.111ms <span style="color:red">(0.9x)</span> | 0.111ms <span style="color:red">(0.9x)</span> | *0.100ms <span style="color:grey">(1.0x)</span>* ๐ข |
| `Enqueue(10000)` | 0.033ms <span style="color:green">(1.1x)</span> | 0.019ms <span style="color:green">(1.9x)</span> | 0.018ms <span style="color:green">(2.0x)</span> | 0.019ms <span style="color:green">(1.9x)</span> | 0.017ms <span style="color:green">(2.0x)</span> ๐ข | 0.018ms <span style="color:green">(2.0x)</span> | *0.035ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(100000)` | 0.331ms <span style="color:green">(1.1x)</span> | 0.183ms <span style="color:green">(1.9x)</span> | 0.173ms <span style="color:green">(2.0x)</span> | 0.182ms <span style="color:green">(1.9x)</span> | 0.172ms <span style="color:green">(2.0x)</span> ๐ข | 0.173ms <span style="color:green">(2.0x)</span> | *0.349ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Enqueue(1000000)` | 3.311ms <span style="color:green">(1.1x)</span> | 1.815ms <span style="color:green">(1.9x)</span> | 1.725ms <span style="color:green">(2.0x)</span> | 1.823ms <span style="color:green">(1.9x)</span> | 1.722ms <span style="color:green">(2.0x)</span> ๐ข | 1.732ms <span style="color:green">(2.0x)</span> | *3.477ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Dequeue(10000)` | 0.032ms <span style="color:green">(1.1x)</span> | 0.017ms <span style="color:green">(2.1x)</span> | 0.008ms <span style="color:green">(4.6x)</span> ๐ข | 0.017ms <span style="color:green">(2.1x)</span> | 0.017ms <span style="color:green">(2.1x)</span> | 0.011ms <span style="color:green">(3.3x)</span> | *0.035ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Dequeue(100000)` | 0.326ms <span style="color:green">(1.1x)</span> | 0.163ms <span style="color:green">(2.2x)</span> | 0.072ms <span style="color:green">(4.9x)</span> ๐ข | 0.167ms <span style="color:green">(2.1x)</span> | 0.162ms <span style="color:green">(2.2x)</span> | 0.102ms <span style="color:green">(3.5x)</span> | *0.352ms <span style="color:grey">(1.0x)</span>* ๐ |
| `Dequeue(1000000)` | 3.257ms <span style="color:green">(1.1x)</span> | 1.624ms <span style="color:green">(2.2x)</span> | 0.708ms <span style="color:green">(5.0x)</span> ๐ข | 1.666ms <span style="color:green">(2.1x)</span> | 1.612ms <span style="color:green">(2.2x)</span> | 1.008ms <span style="color:green">(3.5x)</span> | *3.516ms <span style="color:grey">(1.0x)</span>* ๐ |
*ยน* Optimizations were disabled to perform this benchmark<br/>
---