HonkPerf.NET
LinqGen
HonkPerf.NET | LinqGen | |
---|---|---|
3 | 4 | |
151 | 261 | |
1.3% | - | |
0.0 | 6.9 | |
over 1 year ago | 6 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.
LinqGen
- Worth it or not worth it? A burst-able Linq with source generator
- LinqGen: Fast GC-free LINQ with Roslyn source generator
-
Zero allocation Linq with Source generator
It’s here! https://github.com/cathei/LinqGen/tree/main/docs/BenchmarksResults
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
ksqlDB.RestApi.Client-DotNet - ksqlDb.RestApi.Client is a C# LINQ-enabled client API for issuing and consuming ksqlDB push and pull queries and executing statements.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Meziantou.Analyzer - A Roslyn analyzer to enforce some good practices in C#.
sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
PrimaryParameter - Using a Field or Property attribute on parameters. Automaticaly generate private readonly fields or private properties. Forbid the use of primary constructor's parameters.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
RecordValueAnalyser - C# Roslyn code analyser to check records for correct value semantics
OperationResult - Rust-style error handling for C#
Durian - Durian is a collection of Roslyn-based analyzers and source generators that extend the default capabilities of C#.
core - .NET news, announcements, release notes, and more!
StructLinq - Implementation in C# of LINQ concept with struct