Last active
May 24, 2024 21:08
-
-
Save YevgeniyShunevych/47749e40a006d622da19d330739346e8 to your computer and use it in GitHub Desktop.
Collection foreach performance benchmarks
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Method | Size | Mean | Error | StdDev | Median | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio | | |
|--------------------- |------- |---------------:|--------------:|--------------:|---------------:|------:|--------:|-------:|----------:|------------:| | |
| Array | 10 | 2.487 ns | 0.0166 ns | 0.0155 ns | 2.487 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 10 | 5.817 ns | 0.1264 ns | 0.1183 ns | 5.850 ns | 2.34 | 0.05 | - | - | NA | | |
| ArrayAsIReadOnlyList | 10 | 18.017 ns | 0.3707 ns | 0.3467 ns | 17.979 ns | 7.25 | 0.16 | 0.0051 | 32 B | NA | | |
| ListAsIReadOnlyList | 10 | 26.952 ns | 0.5576 ns | 0.6848 ns | 27.178 ns | 10.80 | 0.35 | 0.0063 | 40 B | NA | | |
| ArrayAsIEnumerable | 10 | 17.990 ns | 0.3809 ns | 0.7060 ns | 18.187 ns | 7.32 | 0.15 | 0.0051 | 32 B | NA | | |
| ListAsIEnumerable | 10 | 26.825 ns | 0.5554 ns | 1.1715 ns | 27.422 ns | 10.52 | 0.52 | 0.0063 | 40 B | NA | | |
| | | | | | | | | | | | | |
| Array | 50 | 17.690 ns | 0.3738 ns | 0.7465 ns | 17.976 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 50 | 27.604 ns | 0.5041 ns | 0.4715 ns | 27.326 ns | 1.57 | 0.09 | - | - | NA | | |
| ArrayAsIReadOnlyList | 50 | 51.035 ns | 1.0277 ns | 1.6885 ns | 52.211 ns | 2.91 | 0.18 | 0.0051 | 32 B | NA | | |
| ListAsIReadOnlyList | 50 | 104.618 ns | 0.5261 ns | 0.4393 ns | 104.631 ns | 5.98 | 0.32 | 0.0063 | 40 B | NA | | |
| ArrayAsIEnumerable | 50 | 50.069 ns | 1.0100 ns | 1.6594 ns | 50.282 ns | 2.86 | 0.17 | 0.0051 | 32 B | NA | | |
| ListAsIEnumerable | 50 | 113.468 ns | 0.7760 ns | 0.7259 ns | 113.310 ns | 6.47 | 0.33 | 0.0063 | 40 B | NA | | |
| | | | | | | | | | | | | |
| Array | 100 | 29.200 ns | 0.0760 ns | 0.0674 ns | 29.212 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 100 | 47.899 ns | 0.5548 ns | 0.5190 ns | 48.073 ns | 1.64 | 0.02 | - | - | NA | | |
| ArrayAsIReadOnlyList | 100 | 88.358 ns | 1.7968 ns | 1.6807 ns | 88.821 ns | 3.02 | 0.06 | 0.0050 | 32 B | NA | | |
| ListAsIReadOnlyList | 100 | 203.462 ns | 4.0799 ns | 9.0408 ns | 208.155 ns | 6.79 | 0.34 | 0.0062 | 40 B | NA | | |
| ArrayAsIEnumerable | 100 | 94.522 ns | 0.3177 ns | 0.2972 ns | 94.588 ns | 3.24 | 0.01 | 0.0050 | 32 B | NA | | |
| ListAsIEnumerable | 100 | 214.392 ns | 4.3003 ns | 7.9709 ns | 213.548 ns | 7.22 | 0.20 | 0.0062 | 40 B | NA | | |
| | | | | | | | | | | | | |
| Array | 1000 | 233.422 ns | 2.7381 ns | 3.0434 ns | 232.184 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 1000 | 406.459 ns | 8.0561 ns | 11.5538 ns | 411.506 ns | 1.73 | 0.05 | - | - | NA | | |
| ArrayAsIReadOnlyList | 1000 | 744.535 ns | 14.6040 ns | 25.1912 ns | 760.322 ns | 3.19 | 0.12 | 0.0048 | 32 B | NA | | |
| ListAsIReadOnlyList | 1000 | 1,855.351 ns | 36.4642 ns | 67.5887 ns | 1,889.276 ns | 7.86 | 0.33 | 0.0038 | 40 B | NA | | |
| ArrayAsIEnumerable | 1000 | 752.474 ns | 2.9052 ns | 2.7175 ns | 752.891 ns | 3.22 | 0.04 | 0.0048 | 32 B | NA | | |
| ListAsIEnumerable | 1000 | 1,862.389 ns | 37.0472 ns | 53.1320 ns | 1,885.792 ns | 7.95 | 0.30 | 0.0057 | 40 B | NA | | |
| | | | | | | | | | | | | |
| Array | 10000 | 2,252.686 ns | 5.7053 ns | 5.3368 ns | 2,250.212 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 10000 | 3,535.160 ns | 12.1490 ns | 11.3641 ns | 3,534.266 ns | 1.57 | 0.01 | - | - | NA | | |
| ArrayAsIReadOnlyList | 10000 | 7,264.641 ns | 27.0288 ns | 23.9603 ns | 7,271.086 ns | 3.23 | 0.01 | - | 32 B | NA | | |
| ListAsIReadOnlyList | 10000 | 18,415.223 ns | 365.7004 ns | 580.0395 ns | 18,613.422 ns | 8.10 | 0.32 | - | 40 B | NA | | |
| ArrayAsIEnumerable | 10000 | 7,103.603 ns | 140.7172 ns | 293.7292 ns | 7,202.216 ns | 3.21 | 0.13 | - | 32 B | NA | | |
| ListAsIEnumerable | 10000 | 21,345.506 ns | 177.4028 ns | 174.2333 ns | 21,340.309 ns | 9.46 | 0.04 | - | 40 B | NA | | |
| | | | | | | | | | | | | |
| Array | 100000 | 22,430.564 ns | 40.7776 ns | 36.1483 ns | 22,420.122 ns | 1.00 | 0.00 | - | - | NA | | |
| List | 100000 | 35,678.046 ns | 142.3120 ns | 133.1188 ns | 35,686.804 ns | 1.59 | 0.01 | - | - | NA | | |
| ArrayAsIReadOnlyList | 100000 | 72,420.371 ns | 1,435.4472 ns | 2,696.1178 ns | 72,551.416 ns | 3.11 | 0.12 | - | 32 B | NA | | |
| ListAsIReadOnlyList | 100000 | 188,025.803 ns | 3,729.3438 ns | 5,695.1019 ns | 189,703.296 ns | 8.37 | 0.29 | - | 40 B | NA | | |
| ArrayAsIEnumerable | 100000 | 72,014.691 ns | 1,242.5979 ns | 1,220.3973 ns | 72,292.322 ns | 3.23 | 0.01 | - | 32 B | NA | | |
| ListAsIEnumerable | 100000 | 186,096.727 ns | 3,719.1914 ns | 7,680.7751 ns | 190,972.241 ns | 8.55 | 0.06 | - | 40 B | NA | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment