|
|
|
|
|
by iheartmemcache
3863 days ago
|
|
To be fair, most of the benchmarks I've seen from end-users don't have .NET Native outperforming the CLR except in huge number crunching situations[1,2]. As one would imagine in those scenarios using your standard stack of C++ with the GNU GSL[3] (which includes your BLAS, GMP, PDE, and standard lin. alg. stuff) is still pretty much king with MPL (based on MPI) with some (often modest, sometimes incredible OpenCL gains). In numerical methods, Fortran w/ a modern Intel MKL and MPI still reign for SIMD. I guess what I'm saying is, for your day to day Rapid App Dev (which Borland Delphi + the VCL was absolutely king at up until MS put out Lightswitch) you weren't really crunching away. Likewise, especially with modern JIT'ing if you _do_ crunch with a language that hit's the CLR hard, you still get performance similar to .NET Native (contrary to MS claims of "performance similar to C++). I've been a MS advocate for ages and admire what they've been doing since ~2005 at MSR all the way to the production cash cows[MS SQL Standard gives you a ~LOT~ of bang for your buck with SSDT/SSAS/SSRS] (check my 8 year post history - when everyone was rails rails! iOS! MBP!! I was silently C#3'ing along); I say all this as a long preface to pose this question - what exactly did .NET Native bring that presumably made it catch up to TP/Delphi? [1] http://code4k.blogspot.com/2014/06/micro-benchmarking-net-na...
[2] https://dzone.com/articles/net-native-performance-and
[3] http://www.gnu.org/software/gsl/ |
|
20 years ago I was discussing these arguments between those using C, Turbo Pascal and those that dared to use C++, Object Pascal features in Turbo Pascal/Delphi.
So I still envision the day managed languages get to the next discussion cycle.
> what exactly did .NET Native bring that presumably made it catch up to TP/Delphi?
Static binaries, integration with the Visual C++ backed (it is not used in JIT/RyuJIT/NGEN).
Pushing C# for more use cases where they still make use of C++. If you look at the C# 7 roadmap there are still more features coming into that direction.
One of the reasons they made .NET Native, which came from Singularity actually, was that the C++/CX uptake is not take big. Most developers only reach out to C++/CX instead of C#/VB.NET for the APIs not exposed to .NET, like DirectX.
I was a big fan of TP and eventually made the jump to C++, which is also very dear to my heart.
But I would rather have a full stack language that offers me the safety of Algol languages, without C underpinnings.
With .NET Native and the integration of System C# features into .NET, it is becoming quite appealing.