1. https://devblogs.microsoft.com/dotnet/performance-improvemen...
2. https://devblogs.microsoft.com/dotnet/hardware-intrinsics-in...
C# recently getting new low level memory types definitely gave it the edge there, it does not reflect real world scenarios very accurately.
In my experience, C# is by a large margin the most performant "managed" language vs. Java, Python.
I ported a C hash function to C# recently, and using the low-level feature that C# offers, performance was very close to the C version.
C# is really nice to work with for this kind of thing.
And - .NET Core 3.0 introduced support for hardware intrinsics, so I could probably bridge the gap if I spent some time on vectorisingthe C# code.
1 - https://en.wikipedia.org/wiki/Singularity_(operating_system)
https://github.com/ixy-languages/ixy.ml/blob/master/app/dune...
Given that C# and "Rust" are neck and neck, I'd rather have a nice GC language to work with.
You can literally develop entire applications in unsafe mode, with C's level of unsafety. Nobody does, but you could.
.NET always had very good performance and the new .NET Core cross-platform framework and runtime is now consistently among the fastest in various performance benchmarks for all kinds of applications.
I'm not sure that's the conclusion to draw from a niche benchmark.
I think it's mostly a lack of insightfulness and thought that leads to cherry-picking bad guys when the system is structured in a way where unscrupulous behavior is worth risking. I could be wrong, maybe Microsoft is evil incarnate but at the level I operate on, I don't see it.
But yes, no reason to not embrace the good parts from Microsoft, or anyone else. That's how I do it. I chose C# to stick with because I believe in what they're doing around it. Huge fan of Blazor, appreciate their focus on long-term support, their product integration, and their excellent tooling. The language is good, and I can get a job doing it anywhere in the country without being in a major metropolitan area. In some of these metrics, I personally don't think you can beat the C# ecosystem.