4 ms·
We recently got through upgrading a large code base from .NET framework to .NET core 3.1. It was quite challenging as it seemed to touch every corner of .NET in
by osigurdson 5y ago
We recently got through upgrading a large code base from .NET framework to .NET core 3.1. It was quite challenging as it seemed to touch every corner of .NET including AppDomains, .NET remoting, serializing type information, C++ interop which requires environment variables to be set in process (that one is very obscure), etc, etc.
In any case, the performance results were really outstanding (particularly vs Mono) especially given we use C++ for many performance sensitive areas already. Looking forward to upgrading to .NET 6 in the coming months.
Great work! Congrats to the .NET team!
- Rochus 5y ago> In any case, the performance results were really outstanding (particularly vs Mono) Interesting. Do you have measurement results? According to my measurements the difference is not that big, see https://www.quora.com/Is-the-Mono-CLR-really-slower-than-CoreCLR/answer/Rochus-Keller https://www.quora.com/Is-the-Mono-CLR-really-slower-than-Cor..., especially the section Update September 15th.
- osigurdson 5y agoYes. Back to back runs were performed on identical hardware. The results varied depending on input but .net core universally outperformed mono 6.8 on Linux - in one case by 35%. This is quite encouraging since quite a bit of time (again depending on input) is spent in native code (where .NET is essentially idle).
- Rochus 5y agoInteresting, thanks. According to my measurements based on the Are-we-fast-yet suite the biggest difference is between Mono 5.2 and CoreCLR 5.0 on x64; about 28% speed-up from Mono to CoreCLR. The spread is smaller on x86 (about 18%). This speed-up is good but not the most impressive one I've ever seen.
- elAhmo 5y agoWould you mind sharing how long the upgrade took, did it require a lot of changes? I am wondering about jumping from relatively large codebase in .NET Core 3.1 to 6.