Hasty Briefsbeta

双语

"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 的开发受到社区反馈和贡献的影响,持续完善兼容性与性能优化。