NetFabric.Hyperlinq VS DistIL

Compare NetFabric.Hyperlinq vs DistIL and see what are their differences.

NetFabric.Hyperlinq

High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>. (by NetFabric)

DistIL

Post-build IL optimizer and intermediate representation for .NET programs (by dubiousconst282)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
NetFabric.Hyperlinq DistIL
4 4
861 108
0.5% -
0.0 8.5
2 months ago 3 days ago
C# C#
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

NetFabric.Hyperlinq

Posts with mentions or reviews of NetFabric.Hyperlinq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-04.

DistIL

Posts with mentions or reviews of DistIL. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-04.
  • Classes vs. Structs in .NET. How not to teach about performance
    3 projects | news.ycombinator.com | 4 Nov 2023
    How is that relevant to the vast majority of the code targeted by LINQ?

    The niche scenario you have outlined is partially covered by a recent System.Numerics.Tensors package update (even though I believe it would have been best if there was a community-maintained package with comparable quality that can be decoupled from .NET release cycle and trade-off support/compat guarantees in favour of more aggressive improvements in the future).

    The goal of LINQ itself is to offer optimal codepaths when it can within the constraints of the current design (naturally, you could improve it significantly if not for backwards compatibility with the previous 15 or so years of .NET codebases). The argument that it's not good because it's not the tool to do BLAS is just nonsensical.

    There is, however, an IL optimizer that can further vectorize certain common patterns and rewrite LINQ calls into open-coded loops: https://github.com/dubiousconst282/DistIL

  • DistIL: Experimental optimizer and intermediate representation for .NET IL
    1 project | /r/csharp | 2 Jan 2023
    Repo: https://github.com/dubiousconst282/DistIL
  • DistIL: An experimental optimizer and compiler IR for .NET CIL
    1 project | /r/csharp | 7 Dec 2022
  • What's the benefit of local functions?
    2 projects | /r/csharp | 7 Aug 2022
    The lifetime problem should not be that complicated, because the class/lambda allocation is contained entirely within the method. There's an open issue on the runtime repo about object stack allocation that would on paper alleviate some of these issues, but it's quite stagnated. In my toy optimizer, I made a buggy pattern matching transform for "concretizing" lambdas invocations using very little code, but implementing something like this in the JIT can be quite challenging, based on my limited experience.

What are some alternatives?

When comparing NetFabric.Hyperlinq and DistIL you can also consider the following projects:

MoreLINQ - Extensions to LINQ to Objects

mongo-csharp-analyzer - The MongoDB Analyzer is a free tool that helps you understand how your code translates into the MongoDB Query API.

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.

LinqBenchmarks - Benchmarking LINQ and alternative implementations

StructLinq - Implementation in C# of LINQ concept with struct

MicroBenchmarksDotNet - C# Benchmarks for a better understanding of performance cost

CIDLib - The CIDLib general purpose C++ development environment

CQC - CQC (Charmed Quark Controller) a commercial grade, full featured, software based automation system. CQC is built on our CIDLib C++ development system, which is also available here on GitHub.

MoreAsyncLINQ - Additional async LINQ to objects operators for IAsyncEnumerable<T>

ShopifySharp - ShopifySharp is a .NET library that helps developers easily authenticate with and manage Shopify stores.

LinqAF - Low allocation re-implementation of LINQ-to-Objects