@@ -145,21 +145,22 @@ dotnet run -c=Release --project=Benchmarking
145145```
146146
147147### Quick performance comparison between relevant collection types
148- | Task | List | DictionaryList | Dictionary | SortedDictionary |
149- | -------------------------------------| ----------| ----------------| ------------| ------------------|
150- | Append Many Items (speed) | 👍 | 👌 | 👎👎 | 👎👎👎 |
151- | Append Many Items (memory) | 👍 | 👌 | 👎👎 | 👎 |
152- | Full Iteration (speed) | 👍 | 👎 | 👌 | 👎👎 |
153- | Full Iteration (memory) | 👍 (0) | 👌 | 👍 (0) | 👌 |
154- | Read Many Items (speed) | 👍 | 👌 | 👎 | 👎👎 |
155- | Read Many Items (memory) | 👍 (0) | 👍 (0) | 👍 (0) | 👍 (0) |
156- | Remove Many Items In-place (speed) | 👎👎👎 | 👌 | 👍 | 👌 |
157- | Remove Many Items In-place (memory) | 👍 (0) | 👌 | 👍 (0) | 👌 |
158- | Remove Many Items w/ LINQ (speed) | 👍 | 👌 | 👎👎 | 👎👎 |
159- | Remove Many Items w/ LINQ (memory) | 👍 | 👌 | 👎 | 👎👎 |
160- | Emit Key/Index During ` foreach ` | 🤷 ([ 1] ) | ✔️ | ✔️ | ✔️ |
161- | Replace Items During ` foreach ` | 🤷 ([ 1] ) | ✔️ | ✔️ | ❌ if key exists |
162- | Remove Items During ` foreach ` | ❌ | ✔️ | ✔️ | ❌ |
148+ | Task | List | DictionaryList | Dictionary | SortedDictionary |
149+ | -------------------------------------| ----------| ----------------| ---------------| ------------------|
150+ | Append Many Items (speed) | 👍 | 👌 | 👎👎 | 👎👎👎 |
151+ | Append Many Items (memory) | 👍 | 👌 | 👎👎 | 👎 |
152+ | Full Iteration (speed) | 👍 | 👎 | 👌 | 👎👎 |
153+ | Full Iteration (memory) | 👍 (0) | 👌 | 👍 (0) | 👌 |
154+ | Read Many Items (speed) | 👍 | 👌 | 👎 | 👎👎 |
155+ | Read Many Items (memory) | 👍 (0) | 👍 (0) | 👍 (0) | 👍 (0) |
156+ | Remove Many Items In-place (speed) | 👎👎👎 | 👌 | 👍 | 👌 |
157+ | Remove Many Items In-place (memory) | 👍 (0) | 👌 | 👍 (0) | 👌 |
158+ | Remove Many Items w/ LINQ (speed) | 👍 | 👌 | 👎👎 | 👎👎 |
159+ | Remove Many Items w/ LINQ (memory) | 👍 | 👌 | 👎 | 👎👎 |
160+ | Add Items During ` foreach ` | ❌ | ❌ | ❌ if new hash | ❌ |
161+ | Emit Key/Index During ` foreach ` | 🤷 ([ 1] ) | ✔️ | ✔️ | ✔️ |
162+ | Replace Items During ` foreach ` | 🤷 ([ 1] ) | ✔️ | ✔️ | ❌ if key exists |
163+ | Remove Items During ` foreach ` | ❌ | ✔️ | ✔️ | ❌ |
163164
164165You may see that ` DictionaryList<T> ` is an all-rounded, midway solution between a ` List<T> ` and a ` Dictionary<TKey,TValue> ` .
165166
0 commit comments