Microsoft announced the release of the new version of your platform ".NET 7" which includes Runtime with the RyuJIT JIT compiler, API specifications, WPF libraries and other tools.
In addition, ASP.NET Core 7.0 web applications, Entity Framework Core 7.0 ORM layer, WPF 7 (Windows Presentation Foundation) library, Windows Forms 7 framework for GUI development, Orleans platform .
What's new in .NET 7
In this new version the base class library (BCL, Base Class Library) has been unified for use in various types of applications, including programs for desktop systems, web applications, cloud platforms, mobile applications, games, embedded programs, and machine learning systems. You can use a common SDK, runtime, and set of libraries to develop different types of applications.
In addition to this, it is also highlighted that provided the ability to bind an application to a .NET 7 version compatible API via a "net7.0" target framework definition, such as " net7.0 ». To bind to platform-specific APIs, you can specify the platform type when specifying the target, for example by specifying "net7.0-android".
Also highlights improved support for ARM64 architecture and continued work to achieve parity in performance for .NET applications when running on both x86 and ARM64 architectures. Improved L3 cache efficiency at runtime on ARM64 systems. LSE instructions are used to fence parallel thread memory access, resulting in a 45% reduction in latency.
The library added drivers that use the Vector64, Vector128, and Vector256 vector types, and the EncodeToUtf8 and DecodeFromUtf8 functions were rewritten based on vector instructions, which increased their performance by up to 60% (for the NarrowUtf16ToAscii and GetIndexOfFirstNonAsciiChar functions, the performance gain reaches 35%). Overall, test pass speeds on the ARM64 platform increased by 10-60%.
On the other hand, also Linux support enhancements are highlighted, including adding packages with .NET 6 to the Ubuntu 22.04 stock repositories and the provision of an optimized, compact, out-of-the-box docker image for rapidly deploying containers with .NET-based applications.
Introduced .NET Upgrade Assistant to make it easier to migrate older applications to branches .NET 6 or .NET 7. The new version has extended support for porting ASP.NET applications to ASP.NET Core, adding code parsers and checkers for WinForms, WPF and class libraries, implemented support for file parsing executables, added support for UWP (Universal Windows Platform).
Generic interfaces for mathematical functions are proposed and the possibility of defining static elements in virtual interfaces is provided, which allowed applying generic programming methods to perform mathematical operations without exact information about the type of values.
Performance in the JIT compiler was also improved, In addition to being added support for the OSR mechanism (On Stack Replacement) to change the code of methods that are already executing, allowing you to perform optimizations on methods that take a long time to complete without waiting for the current call to complete (in the TechEmpower test, there is a 10-30% increase in the performance of processing the first requests by 10-30%).
Of the other changes that stand out:
- Added support for compiling to self-contained executables (native AOT), where the entire project is initially compiled to native target platform code without using intermediate code and without using JIT.
- The .NET SDK implements the ability to restrict the use of provided project templates; for example, you can determine on which operating systems the template is valid.
- NuGet has added a centralized package management mode that allows you to manage dependencies for multiple projects at once.
Finally if you are interested in knowing more about it, you can check the details In the following link.
For those interested, you should know that the .NET SDK 7, .NET Runtime 7, and ASP.NET Core Runtime 7 builds are built for Linux, macOS, and Windows. .NET Desktop Runtime 6 is only available for Windows.
Be the first to comment