用于数组、Span<T> 和 List<T> 的类似于 Linq 的扩展函数,速度更快,占用内存更少。
LinqFaster 提供了一组类似于 Linq 的扩展方法,适用于 arrays[],Span 和 List,这些方法更快、占用内存更少。LinqFaster 旨在与 Linq 协同工作,而非完全取代它。扩展方法的名称与 Linq 的名称相同,但多了一个字符,例如 Select**F。如果您的代码经常执行小型 Linq 操作,并立即调用 ToArray() 或 ToList(),或者经常使用 Min,Max,Sum,Average 或 Aggregate,LinqFaster 可能会大幅减少 CPU 和内存使用。详细信息请参阅下面的文档部分。
LinqFaster 现在包含所有相关的 Linq 扩展方法,许多 SIMD 和 Parallel 增强的扩展方法也可以在单独的项目和 Nuget 包中使用。 这些项目彼此没有依赖,因此您可以随意选择。
| 方法 | TEST_SIZE | 平均值 | 已分配 |
|---|---|---|---|
| OrderByLinq | 100000 | 24,436.0135 us | 1.2 MB |
| OrderByFast | 100000 | 5,612.7712 us | 802.1 kB |
| MinLinq | 100000 | 548.9181 us | 48 B |
| MinFast | 100000 | 69.2122 us | 0 B |
| MinFastSIMD | 100000 | 14.5291 us | 0 B |
| SumLinq | 100000 | 541.3823 us | 48 B |
| SumFast | 100000 | 53.8166 us | 0 B |
| SumFastSIMD | 100000 | 9.7636 us | 0 B |
| SumFastSIMDParallel | 100000 | 3.7074 微秒 | 1.11 KB |
更详细的信息和基准测试可在 基准测试 文件中找到,该文件将不断更新。
暂无开放 Issues,或尚未同步最近议题。