Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Multicore JIT not "on by default" in .net 4.5?

In .net 4.5 there is a new feature called Multicore JIT

http://blogs.msdn.com/b/dotnet/archive/2012/10/18/an-easy-solution-for-improving-app-launch-performance.aspx

It allows for performance improvements to app startup times.

However you need to enable it in code.

So why is it not on by default?

like image 817
Simon Avatar asked Oct 19 '12 00:10

Simon


People also ask

What is difference between .NET core and .NET framework?

NET Core is written from scratch to make it a modular, lightweight, fast, and cross-platform Framework Whereas, Microsoft's Net Framework is a software development platform for building and running Windows applications.Net framework includes developer tools, programming languages, and libraries that are used to develop ...

Is .NET framework obsolete?

Microsoft's support policy has suggested that the framework will not be developed and updated any longer; however, existing applications will still be supported as long as they are installed in a supported version of Windows.

What is dotnet5?

NET 5 is an open-source, cross-platform . NET framework, that will replace . Net Framework, . Net Core, and Xamarin with a single unified platform. . NET 5 is a single platform that you can use for all your modern .


1 Answers

I wrote the blog post you linked to and Vance addresses your question in the embedded video around 30:15.

Multicore JIT is on by default for Silverlight 5 and ASP.NET applications, but not for desktop applications. The main reason for this is that the CLR needs a place to save and load the files containing the JIT profile information.

Silverlight 5 and ASP.NET applications are hosted applications and the host provides a good place to store the profile information. We also know that all of these applications have a similar startup path and will be able to take advantage of MCJ. For desktop applications we don't have a good location to put the profile, and not all applications will benefit from MCJ on process startup. For desktop applications, we chose to provide a set of APIs that can be used to "opt-in" if it will benefit your application.

Thanks for reading the post, and if you have seen any results from using the feature I'd love to hear about it!

like image 174
Dan Taylor Avatar answered Sep 21 '22 17:09

Dan Taylor