@@ -4,28 +4,28 @@ Benchmark for custom loops [as described on this article](https://habr.com/en/po
44
55```
66
7- BenchmarkDotNet v0.15.2 , Windows 11 (10.0.26100 .6584/24H2/2024Update/HudsonValley )
8- Unknown processor
7+ BenchmarkDotNet v0.15.4 , Windows 11 (10.0.26200 .6584)
8+ Snapdragon X 12-core X1E80100 3.40 GHz (Max: 3.42GHz), 1 CPU, 12 logical and 12 physical cores
99.NET SDK 9.0.305
10- [Host] : .NET 9.0.9 (9.0.925.41916), Arm64 RyuJIT AdvSIMD
11- ShortRun : .NET 9.0.9 (9.0.925.41916), Arm64 RyuJIT AdvSIMD
10+ [Host] : .NET 9.0.9 (9.0.9, 9.0. 925.41916), Arm64 RyuJIT armv8.0-a
11+ ShortRun : .NET 9.0.9 (9.0.9, 9.0. 925.41916), Arm64 RyuJIT armv8.0-a
1212
1313Job=ShortRun IterationCount=3 LaunchCount=1
1414WarmupCount=3
1515
1616```
17- | Method | Increment | Iterations | Mean | Error | StdDev | StdErr | Min | Max | Op/s | Ratio | Allocated | Alloc Ratio |
18- | ------------------------------ | ---------- | ----------- | -----------:| ------------: | - ----------:| ----------:| -----------:| -----------:| ----------:| ------:| ----------:| ------------:|
19- | ForWithCustomIncrement | 1 | 10000 | 2.590 μs | 0.7633 μs | 0.0418 μs | 0.0242 μs | 2.546 μs | 2.628 μs | 386,056.2 | 1.00 | - | NA |
20- | ForWithIncrementBy1 | 1 | 10000 | 2.592 μs | 1.0135 μs | 0.0556 μs | 0.0321 μs | 2.553 μs | 2.655 μs | 385,870.8 | 1.00 | - | NA |
21- | ForeachWithEnumerableRange | 1 | 10000 | 18.010 μs | 3.0925 μs | 0.1695 μs | 0.0979 μs | 17.883 μs | 18.203 μs | 55,523.3 | 6.95 | 40 B | NA |
22- | ForeachWithYieldReturn | 1 | 10000 | 18.891 μs | 11.8004 μs | 0.6468 μs | 0.3734 μs | 18.476 μs | 19.636 μs | 52,935 .7 | 7.29 | 56 B | NA |
23- | ForeachWithRangeEnumeratorRaw | 1 | 10000 | 21.248 μs | 0.9343 μs | 0.0512 μs | 0.0296 μs | 21.189 μs | 21.282 μs | 47,064.0 | 8.20 | - | NA |
24- | ForeachWithRangeEnumerator | 1 | 10000 | 21.381 μs | 3.1604 μs | 0.1732 μs | 0.1000 μs | 21.195 μs | 21.537 μs | 46,770 .1 | 8.25 | - | NA |
25- | | | | | | | | | | | | | |
26- | ForWithCustomIncrement | 1 | 100000 | 25.512 μs | 3.1440 μs | 0.1723 μs | 0.0995 μs | 25.369 μs | 25.703 μs | 39,196.8 | 1.00 | - | NA |
27- | ForWithIncrementBy1 | 1 | 100000 | 25.553 μs | 3.3603 μs | 0.1842 μs | 0.1063 μs | 25.423 μs | 25.764 μs | 39,134.2 | 1.00 | - | NA |
28- | ForeachWithEnumerableRange | 1 | 100000 | 183.800 μs | 187.2280 μs | 10.2626 μs | 5.9251 μs | 177.864 μs | 195.651 μs | 5,440.7 | 7.19 | 40 B | NA |
29- | ForeachWithYieldReturn | 1 | 100000 | 202.117 μs | 88.0170 μs | 4.8245 μs | 2.7854 μs | 198.123 μs | 207.477 μs | 4,947.6 | 7.91 | 56 B | NA |
30- | ForeachWithRangeEnumeratorRaw | 1 | 100000 | 225.168 μs | 93.5216 μs | 5.1262 μs | 2.9596 μs | 219.254 μs | 228.343 μs | 4,441.1 | 8.81 | - | NA |
31- | ForeachWithRangeEnumerator | 1 | 100000 | 240.935 μs | 125.6626 μs | 6.8880 μs | 3.9768 μs | 232.982 μs | 245.006 μs | 4,150 .5 | 9.43 | - | NA |
17+ | Method | Increment | Iterations | Mean | Error | StdDev | StdErr | Min | Max | Op/s | Ratio | Allocated | Alloc Ratio |
18+ | ------------------------------ | ---------- | ----------- | -----------:| -----------: | ----------:| ----------:| -----------:| -----------:| ----------:| ------:| ----------:| ------------:|
19+ | ForWithIncrementBy1 | 1 | 10000 | 2.948 μs | 0.3060 μs | 0.0168 μs | 0.0097 μs | 2.930 μs | 2.963 μs | 339,250.8 | 1.00 | - | NA |
20+ | ForWithCustomIncrement | 1 | 10000 | 2.984 μs | 1.7902 μs | 0.0981 μs | 0.0567 μs | 2.903 μs | 3.093 μs | 335,153.7 | 1.01 | - | NA |
21+ | ForeachWithEnumerableRange | 1 | 10000 | 21.388 μs | 6.6937 μs | 0.3669 μs | 0.2118 μs | 21.037 μs | 21.769 μs | 46,754.8 | 7.26 | 40 B | NA |
22+ | ForeachWithRangeEnumeratorRaw | 1 | 10000 | 22.449 μs | 23.3107 μs | 1.2777 μs | 0.7377 μs | 21.681 μs | 23.924 μs | 44,544 .7 | 7.62 | - | NA |
23+ | ForeachWithYieldReturn | 1 | 10000 | 22.838 μs | 15.4371 μs | 0.8462 μs | 0.4885 μs | 22.203 μs | 23.799 μs | 43,786.8 | 7.75 | 56 B | NA |
24+ | ForeachWithRangeEnumerator | 1 | 10000 | 26.238 μs | 19.4055 μs | 1.0637 μs | 0.6141 μs | 25.466 μs | 27.451 μs | 38,113 .1 | 8.90 | - | NA |
25+ | | | | | | | | | | | | | |
26+ | ForWithCustomIncrement | 1 | 100000 | 25.493 μs | 4.8467 μs | 0.2657 μs | 0.1534 μs | 25.282 μs | 25.791 μs | 39,227.2 | 0.99 | - | NA |
27+ | ForWithIncrementBy1 | 1 | 100000 | 25.787 μs | 5.6475 μs | 0.3096 μs | 0.1787 μs | 25.439 μs | 26.031 μs | 38,778.7 | 1.00 | - | NA |
28+ | ForeachWithEnumerableRange | 1 | 100000 | 177.810 μs | 16.1051 μs | 0.8828 μs | 0.5097 μs | 176.924 μs | 178.690 μs | 5,624.0 | 6.90 | 40 B | NA |
29+ | ForeachWithYieldReturn | 1 | 100000 | 186.816 μs | 46.0532 μs | 2.5243 μs | 1.4574 μs | 184.658 μs | 189.592 μs | 5,352.9 | 7.25 | 56 B | NA |
30+ | ForeachWithRangeEnumeratorRaw | 1 | 100000 | 211.103 μs | 56.1466 μs | 3.0776 μs | 1.7768 μs | 208.709 μs | 214.574 μs | 4,737.0 | 8.19 | - | NA |
31+ | ForeachWithRangeEnumerator | 1 | 100000 | 213.746 μs | 69.8768 μs | 3.8302 μs | 2.2114 μs | 209.837 μs | 217.492 μs | 4,678 .5 | 8.29 | - | NA |
0 commit comments