"ZLinq", a Zero-Allocation LINQ Library for .NET
a year ago
- #LINQ
- #.NET
- #Performance
- ZLinq 是一个零分配的 .NET LINQ 库,利用结构体和泛型消除内存分配。
- 它包含 LINQ to Span、LINQ to SIMD 和 LINQ to Tree(文件系统、JSON、游戏对象等)等扩展功能。
- ZLinq 支持 .NET Standard 2.0、Unity 和 Godot 等多平台,GitHub 星标数已突破 2000。
- 该库实现了 .NET 10 中所有方法和重载的 100% 覆盖,确保 99% 的行为兼容性。
- 除减少分配外,ZLinq 还通过 SIMD 支持等优化手段,在多数场景下实现性能超越。
- 其架构基于 ValueEnumerable<TEnumerator, T> 和 IValueEnumerator<T>,减少了方法调用和结构体大小。
- ZLinq 为树形结构提供 LINQ to Tree,内置对文件系统、JSON、Unity 的 GameObject 和 Godot 的 Node 的标准实现。
- 该库避免商业化,尽管维护者承受精神压力,仍专注于维护与创新。
- ZLinq 的开发受到社区反馈和贡献的影响,持续完善兼容性与性能优化。