使用 SIMD 可极大提高 LINQ 聚合操作的交换速度。
[!IMPORTANT] Cysharp/ZLinq, 一款全新的零分配 LINQ 库,包含了 LINQ 到 SIMD 功能,现在包含了所有 SimdLinq 功能。请迁移到 ZLinq。
SimdLinq 加速了许多方法(Sum、LongSum、Average、Min、Max、MinMax、Contains、SequenceEqual)和类型(byte、sbyte、short、ushort、int、uint、long、ulong、float、double)。此外,还可以与 List、Span、ReadOnlySpan、Memory、ReadOnlyMemory 以及 T[] 一起使用。通过重载解析优先级,只需引用库并设置全局使用即可自动对所有目标方法进行 SIMD 处理。
请注意,此库需要 .NET 7 或更高版本,因为此库使用静态抽象成员,以及新的跨平台 .NET 7 SIMD API。
与基础 LINQ 不同,SimdLinq 支持 Span,允许您在 Span 或 ReadOnlySpan 集合上调用 Sum, Min 等方法。
暂无开放 Issues,或尚未同步最近议题。