StructLinq
HonkPerf.NET
StructLinq | HonkPerf.NET | |
---|---|---|
2 | 3 | |
292 | 151 | |
- | 1.3% | |
6.6 | 0.0 | |
4 months ago | over 1 year ago | |
C# | C# | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
StructLinq
-
Zero allocation Linq with Source generator
I've got a lot of help from Jon Skeet's Edulinq series while implementing this. I'd recommend the series if anyone haven't seen. Also trying to absorb many optimizations from other Linq implementations like StructLinq.
- Like Regular LINQ, but Faster and Without Allocations: Is It Possible?
HonkPerf.NET
-
Zero allocation Linq with Source generator
Good luck with that, I knew somebody's gonna make it lol. I also made a zero alloc Linq, but without SG (in the readme you can see comparative tables)
-
.NET Myths Dispelled
- Unfortunately LINQ is no match to Rust iterators which get easily vectorized. However, there are low-allocations and simd-ified implementations which might help with your goals. See https://github.com/asc-community/HonkPerf.NET
After all, DDD requires special care when describing its domain definitions in code but you really don't have to go OOP route nowadays for the core logic of your applications. Also records and record structs make it very easy to define contracts and state on the go without having to go with tons of boilerplate I keep seeing in a very much DDD-oriented project my team is responsible for.
-
Yet Another Better Linq Library
I intentionally did not implement any API from Linq which would imply allocations - such as SkipLast (which needs to store a temporary buffer), ToArray, etc. Here's the list of all implemented methods.
What are some alternatives?
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
atldotnet - Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
LinqAF - Low allocation re-implementation of LINQ-to-Objects
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
LINQ to Twitter - LINQ Provider for the Twitter API (C# Twitter Library)
sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
LinqGen - Alloc-free and fast replacement for Linq, with code generation
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
OperationResult - Rust-style error handling for C#
core - .NET news, announcements, release notes, and more!
Oberon - Oberon parser, code model & browser, compiler and IDE with debugger
CliFx - Class-first framework for building command-line interfaces