HonkPerf.NET
StructLinq
HonkPerf.NET | StructLinq | |
---|---|---|
3 | 2 | |
151 | 292 | |
1.3% | - | |
0.0 | 6.6 | |
over 1 year ago | 4 months 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.
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.
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?
What are some alternatives?
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
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
LinqAF - Low allocation re-implementation of LINQ-to-Objects
sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
LINQ to Twitter - LINQ Provider for the Twitter API (C# Twitter Library)
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
LinqGen - Alloc-free and fast replacement for Linq, with code generation
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