{"slug": "zlinq", "name": "ZLinq", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 2.669, "rising": 0.35, "first": "2025-11-05", "latest": "2026-10-22", "why": "which is a less versatile but much more performant way to write Linq-like queries", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 0}, "spark": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "which is a less versatile but much more performant way to write Linq-like queries", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/cysharp/zlinq", "official_url": "https://github.com/Cysharp/ZLinq", "pricing": "", "aliases": ["ZLinq"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 803138672, "item_id": 50196167, "url": "https://news.ycombinator.com/item?id=50196167", "by": "CharlieDigital", "date": "2026-10-22", "stance": "recommend", "quote": "ZLinq exists: https://github.com/Cysharp/ZLinq", "excerpt": "ZLinq exists: https://github.com/Cysharp/ZLinq > Zero allocation LINQ with LINQ to Span, LINQ to SIMD, and LINQ to Tree (FileSystem, JSON, GameObject, etc.) for all .NET platforms and Unity, Godot.", "context": "", "use_case": "allocation-free LINQ for .NET", "switched_from": "", "story": "C# now beats Rust on WASM size"}, {"id": 763221680, "item_id": 47701355, "url": "https://news.ycombinator.com/item?id=47701355", "by": "tryfinally", "date": "2026-04-09", "stance": "recommend", "quote": "which is a less versatile but much more performant way to write Linq-like queries", "excerpt": "Fans of LINQ may enjoy ZLinq[0], which is a less versatile but much more performant way to write Linq-like queries. I certainly use a lot of (Z)Linq in my code; the performance tradeoff is just fine for one-off initialization, UI code, editor tooling, etc. [0]: https://github.com/Cysharp/ZLinq", "context": "", "use_case": "Fast LINQ-style queries", "switched_from": "", "story": "C# in Unity 2026: Features Most Developers Still Don't Use"}, {"id": 733253392, "item_id": 45828337, "url": "https://news.ycombinator.com/item?id=45828337", "by": "neonsunset", "date": "2025-11-05", "stance": "recommend", "quote": "ZLinq even offers .AsVectorizable LINQ-style API", "excerpt": "You are not \"forced\" into unsafe APIs with Vector<T>/Vector128/256/512<T>. While it is a nice improvement and helps with achieving completely optimal compiler output, you can use it without unsafe. For example, ZLinq even offers .AsVectorizable LINQ-style API, where you pass lambdas which handle vectors and scalars separately. It the user code cannot go out of bounds and the resulting logic even goes through (inlined", "context": "", "use_case": "", "switched_from": "", "story": "The state of SIMD in Rust in 2025"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["allocation-free linq for .net", "fast linq-style queries"], "compared": [{"slug": "linq", "name": "LINQ", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50175510", "title": "C# now beats Rust on WASM size", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47660434", "title": "C# in Unity 2026: Features Most Developers Still Don't Use", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45826348", "title": "The state of SIMD in Rust in 2025", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 803138672, "item_id": 50196167, "url": "https://news.ycombinator.com/item?id=50196167", "by": "CharlieDigital", "date": "2026-10-22", "stance": "recommend", "quote": "ZLinq exists: https://github.com/Cysharp/ZLinq", "excerpt": "ZLinq exists: https://github.com/Cysharp/ZLinq > Zero allocation LINQ with LINQ to Span, LINQ to SIMD, and LINQ to Tree (FileSystem, JSON, GameObject, etc.) for all .NET platforms and Unity, Godot.", "context": "", "use_case": "allocation-free LINQ for .NET", "switched_from": "", "story": "C# now beats Rust on WASM size"}, {"id": 763221680, "item_id": 47701355, "url": "https://news.ycombinator.com/item?id=47701355", "by": "tryfinally", "date": "2026-04-09", "stance": "recommend", "quote": "which is a less versatile but much more performant way to write Linq-like queries", "excerpt": "Fans of LINQ may enjoy ZLinq[0], which is a less versatile but much more performant way to write Linq-like queries. I certainly use a lot of (Z)Linq in my code; the performance tradeoff is just fine for one-off initialization, UI code, editor tooling, etc. [0]: https://github.com/Cysharp/ZLinq", "context": "", "use_case": "Fast LINQ-style queries", "switched_from": "", "story": "C# in Unity 2026: Features Most Developers Still Don't Use"}, {"id": 733253392, "item_id": 45828337, "url": "https://news.ycombinator.com/item?id=45828337", "by": "neonsunset", "date": "2025-11-05", "stance": "recommend", "quote": "ZLinq even offers .AsVectorizable LINQ-style API", "excerpt": "You are not \"forced\" into unsafe APIs with Vector<T>/Vector128/256/512<T>. While it is a nice improvement and helps with achieving completely optimal compiler output, you can use it without unsafe. For example, ZLinq even offers .AsVectorizable LINQ-style API, where you pass lambdas which handle vectors and scalars separately. It the user code cannot go out of bounds and the resulting logic even goes through (inlined", "context": "", "use_case": "", "switched_from": "", "story": "The state of SIMD in Rust in 2025"}]}