DNNE VS .NET Runtime

Compare DNNE vs .NET Runtime and see what are their differences.

DNNE

Prototype native exports for a .NET Assembly. (by AaronRobinsonMSFT)

.NET Runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps. (by dotnet)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
DNNE .NET Runtime
4 653
400 15,049
- 1.3%
3.9 10.0
7 days ago 7 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.

DNNE

Posts with mentions or reviews of DNNE. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-17.

.NET Runtime

Posts with mentions or reviews of .NET Runtime. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-10-07.
  • What's New in Ruby on Rails 8
    11 projects | news.ycombinator.com | 7 Oct 2024
    Ruby does nail the minimalism in this code golfing example, but it does not offers uniquely high productivity to the end user, which is a frequently brought up point in defense of interpreted languages whenever their shortcomings are mentioned. Lacking static typing, Ruby users have to resort on e.g. Sorbet, which is a worse experience and numerous comments on HN seem to provide negative feedback on it.

    I do actually hate to mention performance every time, but it's difficult to not do so when apples-to-apples comparison can be made. Compiled statically typed languages with GC offer similar or better (because the code is verified by compiler, not Sorbet) productivity without any of the drawbacks that come with Ruby.

    This is to illustrate the point about the languages that do come with rich standard library, that also happen to go to great lengths at ensuring that shortest way to express something is also the fastest whenever possible.

    [0]: https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

  • Ruby-SAML pwned by XML signature wrapping attacks
    2 projects | news.ycombinator.com | 19 Sep 2024
    GetElementId makes sure its a NCName and makes sure its unique regardless, you can view the source here: https://github.com/dotnet/runtime/blob/c4d7f7c6f2e2f34f07e64...
  • Swift 6
    10 projects | news.ycombinator.com | 17 Sep 2024
  • Ergo: Erlang-inspired event driven actor framework in Go
    10 projects | news.ycombinator.com | 12 Sep 2024
  • Sisk – Lightweight .NET Web Framework
    5 projects | news.ycombinator.com | 31 Aug 2024
    It appears to use Socket and SslStream. Can't say much about HttpListener itself, but the first two are used by Kestrel (and everything else). There is Http.sys integration for Windows though.

    https://github.com/dotnet/runtime/blob/ac663e44b907618c631ed...

  • Microsoft donates the Mono Project to the Wine team
    30 projects | news.ycombinator.com | 27 Aug 2024
    > Does that mean that this mono project and its associated repo and what is within the dotnet repo are not the same and could (if they have not already) diverge?

    Yes, they have diverged. Just as Microsoft forked the CLR to create CoreCLR, so too has mono been forked. Features like multiple AppDomains have been removed from this fork. Here is an example pull request:

    https://github.com/dotnet/runtime/pull/47955

  • Techniques for Safe Garbage Collection in Rust
    4 projects | news.ycombinator.com | 25 Aug 2024
  • Async2 – The .NET Runtime Async experiment concludes
    3 projects | news.ycombinator.com | 22 Aug 2024
    > And for the transition phase, there has to be interop for async ↔ async2

    For those like me who weren't clear whether `async2` was expected to be a real keyword in the final language, it's not[0].

    0 - https://github.com/dotnet/runtime/issues/94620#issuecomment-...

  • The Vala Language
    2 projects | news.ycombinator.com | 17 Aug 2024
    Embedding Mono today might be a mistake. You really do want to embed CoreCLR instead if you can, even though it's a bit more complex.

    The reason for this is the up-to-date Mono (that keeps up on runtime features and library support) lives here: https://github.com/dotnet/runtime/tree/main/src/mono After .NET became what it is today, many Mono components simply became part of the codebase there. Most notably Mono linker which became ILLink, a critical component of assembly trimming and AOT compilation to native binaries.

    However, Mono is significantly slower than CoreCLR, frequently does not have the optimizations that performance-oriented code paths expect, only supports 128b SIMD and now serves the purpose of supporting exotic targets like WASM, ARMv6 or just new platforms in the process of bring-up.

    In any case, if you still plan to use Mono, it is best to use the one from dotnet/runtime.

  • AMD's Strix Point: Zen 5 Hits Mobile
    3 projects | news.ycombinator.com | 10 Aug 2024
    > Not sure what you mean by "peephole heuristic optimizations"

    Post-emit or within-emit stage optimization where a sequence of instruction is replaced with a more efficient shorter variant.

    Think replacing pairs of ldr and str with ldp and stp, changing ldr and increment with ldr with post-index addressing mode, replacing address calculation before atomic load with atomic load with addressing mode (I think it was in ARMv8.3-a?).

    The "heuristic" here might be possibly related to additional analysis when doing such optimizations.

    For example, previously mentioned ldr, ldr -> ldp (or stp) optimization is not always a win. During work on .NET 9, there was a change[0] that improved load and store reordering to make it more likely that load simple consecutive loads and stores are merged on ARM64. However, this change caused regressions in various hot paths because, for example, previously matched ldr w0, [addr], ldr w1, [addr+4] -> modify -> str w0, [addr] pair got replaced with ldp w0, w1, [add] -> modify w0, str w0 [addr].

    Turns out this kind of merging defeated store forwarding on Firestorm (and newer) as well as other ARM cores. The regression was subsequently fixed[1], but I think the parent comment author may have meant scenarios like these in mind.

    [0]: https://github.com/dotnet/runtime/pull/92768

    [1]: https://github.com/dotnet/runtime/pull/105695

What are some alternatives?

When comparing DNNE and .NET Runtime you can also consider the following projects:

runtimelab - This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.

Ryujinx - Experimental Nintendo Switch Emulator written in C#

Flee - Fast Lightweight Expression Evaluator

ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

AngouriMathLab - Repository to store experiments related to AngouriMath

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

AngouriMath - New open-source cross-platform symbolic algebra library for C# and F#. Can be used for both production and research purposes.

CoreCLR - CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.

WASI - WebAssembly System Interface

vgpu_unlock - Unlock vGPU functionality for consumer grade GPUs.

sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you konow that C# is
the 9th most popular programming language
based on number of metions?