Skip to content

2.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Jan 03:08
· 38 commits to main since this release
6eb5428

Changes

🚀 Enhancements

  • SIMDify array/span initialization which improves performance by appx. 2-4x depending on supported vector width (PR #16)
  • Improve .ToList() performance by 2x via directly passing RangeEnumerable to List<int> constructor which subsequently calls ICollection.ToArray(...)
BenchmarkDotNet=v0.13.3, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
AMD Ryzen 7 5800X 3.80GHz, 1 CPU, 8 logical and 8 physical cores
.NET SDK=8.0.100-alpha.1.23056.11
  [Host]     : .NET 8.0.0 (8.0.23.5503), X64 RyuJIT AVX2
  DefaultJob : .NET 8.0.0 (8.0.23.5503), X64 RyuJIT AVX2
Method Length Mean Error Ratio Allocated
RangeToArray 10 8.249 ns 0.1493 ns 1.00 64 B
EnumerableToArray 10 15.416 ns 0.1819 ns 1.87 104 B
RangeToList 10 18.367 ns 0.1284 ns 2.23 120 B
EnumerableToList 10 22.675 ns 0.4197 ns 2.75 136 B
RangeSelectToArray 10 14.934 ns 0.1617 ns 1.81 96 B
EnumerableSelectToArray 10 27.146 ns 0.2635 ns 3.30 152 B
RangeToArray 100 19.584 ns 0.1200 ns 1.00 424 B
EnumerableToArray 100 44.881 ns 0.2353 ns 2.29 464 B
RangeToList 100 29.633 ns 0.2484 ns 1.51 480 B
EnumerableToList 100 97.329 ns 0.7041 ns 4.97 496 B
RangeSelectToArray 100 62.172 ns 0.6928 ns 3.18 456 B
EnumerableSelectToArray 100 75.454 ns 0.8087 ns 3.85 512 B
RangeToArray 10000 690.475 ns 10.5986 ns 1.00 40024 B
EnumerableToArray 10000 3,285.207 ns 22.7170 ns 4.76 40064 B
RangeToList 10000 1,231.378 ns 11.5101 ns 1.78 40080 B
EnumerableToList 10000 7,269.712 ns 75.8317 ns 10.52 40096 B
RangeSelectToArray 10000 5,024.135 ns 49.6868 ns 7.27 40056 B
EnumerableSelectToArray 10000 5,044.309 ns 67.8153 ns 7.30 40112 B

📦 Dependencies

  • Bump BenchmarkDotNet from 0.13.2 to 0.13.3 (PR #15) by @dependabot (bot)

🧰 Misc

Full Changelog: 2.0.0...2.1.0

Published with dotnet-releaser