News for hackers. Stuff that matters.
Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by matthewwarren on Monday December 18, 2017 @05:30PM (#15956095)
> but I've been told by other people that Microsoft or at least the .NET just generally prefer a simpler approach, without profiling, dynamic compilation, deoptimisation, and other complexity the approach used by the JVM brings. It's much more what-you-see-is-what-you-get from their JIT, rather than the mind-binding things the JVM manages to do with some code, and maybe that makes life easier for their use cases.

Interesting, it's clear after a bit of research that this is the case (i.e. .NET JIT simpler that Hotspot), but it had never occurred to me that it was a conscious decision

I'd always thought that the .NET was just playing catch-up and/or didn't need to do all the things that Hotspot does. (for instance .NET has value types or 'stucts' so some optimisations are not needed because the programmer can just use them instead of classes, if they need the perf boost)

Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by sillypuddy on Monday December 18, 2017 @06:06PM (#15956297)
It has been a deliberate decision. The Book of the Runtime documentation states "The goal of the CLR is to make programming easy" and acknowledges there are faster alternatives out there. When I have asked insiders why there isn't a bigger focus on performance, the response is essentially that if performance is really important you should use C++.
Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by pjmlp on Tuesday December 19, 2017 @02:26AM (#15958405)
That point of view is outdated.

Hence Roslyn, .NET Native with VC++ backend, value types improvements and safer pointers in 7.x.

There are even plans to slowly move parts of the runtime from C++ into C#, now that .NET Native is a thing.

" So, in my view, the primary trend is moving our existing C++ codebase to C#. It makes us so much more efficient and enables a broader set of .NET developers to reason about the base platform more easily and also contribute"

https://www.infoq.com/articles/virtual-panel-dotnet-future

https://www.infoq.com/articles/high-performance-dotnet

Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by readittwice on Tuesday December 19, 2017 @05:37AM (#15959238)
Java seems to have a similar initiative called "Project Metropolis" to (re)write some stuff in Java instead of C++: http://mail.openjdk.java.net/pipermail/discuss/2017-Septembe...
Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by matthewwarren on Monday December 18, 2017 @06:59PM (#15956636)
> The Book of the Runtime documentation states "The goal of the CLR is to make programming easy"

In case anyone else is interested, that quote comes from https://github.com/dotnet/coreclr/blob/master/Documentation/...

Re:A Look at the Internals of 'Tiered JIT Compilation' in .N... by benaadams on Monday December 18, 2017 @08:23PM (#15957033)
Also says

> The .NET runtime supports a wide variety of high performance applications. As such, performance is a key design element for every change.

https://github.com/dotnet/coreclr/blob/master/Documentation/...