Implement new SmallCapacityDictionary for dictionaries with a small amount of values. by jkotalik · Pull Request #31360 · dotnet/aspnetcore (original ) (raw )| Method | Mean | Error | StdDev | Median | Op/s | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------------------- |-----------:|----------:|----------:|-----------:|------------:|------:|------:|------:|----------:|
| OneValue_SmallDict | 553.0 ns | 50.78 ns | 135.55 ns | 500.0 ns | 1,808,278.9 | - | - | - | 48 B |
| OneValue_Dict | 1,002.4 ns | 68.48 ns | 185.15 ns | 900.0 ns | 997,652.6 | - | - | - | 48 B |
| OneValue_SmallDict_Set | 542.1 ns | 81.75 ns | 234.56 ns | 400.0 ns | 1,844,660.2 | - | - | - | 48 B |
| OneValue_Dict_Set | 992.2 ns | 138.49 ns | 386.06 ns | 800.0 ns | 1,007,838.7 | - | - | - | 48 B |
| OneValue_SmallDict_Get | 120.0 ns | 29.03 ns | 83.28 ns | 100.0 ns | 8,333,333.3 | - | - | - | 48 B |
| OneValue_Dict_Get | 621.6 ns | 43.85 ns | 120.77 ns | 600.0 ns | 1,608,775.1 | - | - | - | 48 B |
| FourValues_SmallDict | 1,214.3 ns | 82.56 ns | 221.79 ns | 1,200.0 ns | 823,529.4 | - | - | - | 48 B |
| FiveValues_SmallDict | 1,547.1 ns | 138.80 ns | 379.98 ns | 1,600.0 ns | 646,359.6 | - | - | - | 48 B |
| SixValues_SmallDict | 1,654.0 ns | 81.27 ns | 222.46 ns | 1,700.0 ns | 604,586.5 | - | - | - | 48 B |
| SevenValues_SmallDict | 1,996.4 ns | 134.50 ns | 359.01 ns | 2,000.0 ns | 500,905.3 | - | - | - | 48 B |
| EightValues_SmallDict | 2,417.0 ns | 140.26 ns | 386.32 ns | 2,300.0 ns | 413,728.3 | - | - | - | 48 B |
| NineValues_SmallDict | 2,633.3 ns | 188.42 ns | 506.19 ns | 2,700.0 ns | 379,746.8 | - | - | - | 48 B |
| TenValues_SmallDict | 3,082.4 ns | 66.85 ns | 160.17 ns | 3,050.0 ns | 324,427.5 | - | - | - | 48 B |
| FourValues_Dict | 1,104.5 ns | 84.27 ns | 233.51 ns | 1,000.0 ns | 905,391.7 | - | - | - | 48 B |
| FiveValues_Dict | 1,305.6 ns | 134.80 ns | 375.77 ns | 1,200.0 ns | 765,957.4 | - | - | - | 48 B |
| SixValues_Dict | 1,201.7 ns | 106.35 ns | 294.69 ns | 1,150.0 ns | 832,164.6 | - | - | - | 48 B |
| SevenValues_Dict | 1,423.3 ns | 164.00 ns | 457.17 ns | 1,250.0 ns | 702,576.1 | - | - | - | 96 B |
| EightValues_Dict | 1,230.4 ns | 117.62 ns | 331.74 ns | 1,100.0 ns | 812,720.8 | - | - | - | 48 B |
| NineValues_Dict | 1,326.4 ns | 111.06 ns | 304.03 ns | 1,300.0 ns | 753,899.5 | - | - | - | 48 B |
| TenValues_Dict | 1,297.6 ns | 108.71 ns | 292.05 ns | 1,300.0 ns | 770,642.2 | - | - | - | 48 B |
| FourValues_SmallDictGet | 428.2 ns | 28.31 ns | 76.55 ns | 400.0 ns | 2,335,164.8 | - | - | - | 48 B |
| FiveValues_SmallDictGet | 502.2 ns | 42.86 ns | 120.87 ns | 450.0 ns | 1,991,342.0 | - | - | - | 48 B |
| SixValues_SmallDictGetGet | 593.1 ns | 59.69 ns | 163.39 ns | 500.0 ns | 1,686,046.5 | - | - | - | 48 B |
| SevenValues_SmallDictGetGet | 487.8 ns | 44.94 ns | 125.27 ns | 500.0 ns | 2,050,113.9 | - | - | - | 48 B |
| EightValues_SmallDictGet | 549.4 ns | 42.88 ns | 118.82 ns | 500.0 ns | 1,820,040.9 | - | - | - | 48 B |
| NineValues_SmallDictGet | 548.8 ns | 39.82 ns | 106.98 ns | 500.0 ns | 1,822,125.8 | - | - | - | 48 B |
| TenValues_SmallDictGet | 560.4 ns | 50.96 ns | 142.89 ns | 500.0 ns | 1,784,313.7 | - | - | - | 48 B |
| TenValues_DictGet | 748.2 ns | 46.20 ns | 123.33 ns | 700.0 ns | 1,336,553.9 | - | - | - | 48 B |
| SmallDict | 1,645.8 ns | 238.26 ns | 635.97 ns | 1,500.0 ns | 607,613.5 | - | - | - | 136 B |
| Dict | 2,095.0 ns | 168.05 ns | 439.76 ns | 1,900.0 ns | 477,327.0 | - | - | - | 264 B |
| SmallDictFour | 1,648.3 ns | 176.94 ns | 484.37 ns | 1,500.0 ns | 606,694.6 | - | - | - | 184 B |
| DictFour | 2,020.2 ns | 77.69 ns | 208.71 ns | 2,000.0 ns | 494,991.2 | - | - | - | 376 B |
| SmallDictTen | 1,924.1 ns | 356.09 ns | 974.79 ns | 1,500.0 ns | 519,713.3 | - | - | - | 280 B |
| DictTen | 2,034.5 ns | 102.31 ns | 274.85 ns | 2,000.0 ns | 491,515.5 | - | - | - | 488 B |