After installing Visual Studio 2015 RC1, I have loaded a legacy ASP.NET project and changed the .NET version to 4.6. The project works fine, but the website still loads as slow as always. I was expecting RyuJIT to kick in, but apparently it is not.
I've had a look at this thread about RyuJIT and I cannot see any trace of RyuJIT with any of the methods described there.
The same problem also occurs with an empty console project. I cannot see Ryujit in the output window, the Modules window or as a running windows task.
So either RyuJIT cannot be detected as it used to be in earlier previews, or it is not running. Either way, I am stuck.
How can I verify that RyuJIT is running in VS 2015 and what do I have to do to make it run in case that it is not?
First, go to the project's settings, Debug tab and make sure that native code debugging is enabled. This enables you to see native as well as managed executables in the Modules window of Visual Studio.
Now run the program in Debug or Release mode and open the Modules window. You will see one of two things:
compatjit.dll is loaded when the fallback mechanism is enabled. Otherwise, it's not loaded.
Note that if you installed .NET 4.6 (aka .NET 2015), then RyuJIT will be used by default even if you targeted older versions of the framework.
Regarding RyuJIT vs JIT64. The generated code itself of JIT64 is currently faster than the code generated by RyuJIT. So don't expect performance improvement in this aspect. On the other hand, the compilation time varies. According to Microsoft, the compilation time of RyuJIT can be faster than JIT64 by up to 30% and slower by up to 15%. So don't expect performance improvement in this aspect either.
Things might change a bit, however, when .NET 2015 is released.
Note
If the target platform is "Any CPU", the "Prefer 32-bit" checkbox in the Build tab has to be unchecked. Otherwise, the x86 JIT will be used.