
"The headline runtime feature in this preview is Runtime Async, described as a major change to how asynchronous methods work in .NET. According to the release notes, since C# 5 introduced async/await, the compiler has been solely responsible for rewriting async methods into state machine structs that track progress across suspension points. With Runtime Async, the runtime itself now understands async methods as a first-class concept and takes over responsibility for suspending and resuming methods."
"CoreCLR support for Runtime Async is enabled by default in this preview, requiring no environment variables. Native AOT support has also been added. However, none of the core runtime libraries are compiled with runtime-async support yet in Preview 1, which is expected to change in upcoming previews. Developers who want to experiment with runtime-async compilation need to enable preview features and set a compiler flag in their project file."
Runtime Async shifts responsibility for suspending and resuming asynchronous methods from the compiler to the runtime, making async methods a first-class runtime concept. CoreCLR support for Runtime Async is enabled by default in the preview, and Native AOT support is present. Core runtime libraries are not yet compiled with runtime-async support in Preview 1, and experimental runtime-async compilation requires enabling preview features and a compiler flag. Foundational work began to migrate CoreCLR to WebAssembly from Mono, though it is not ready for general use. Libraries add ZstandardStream compression, a BFloat16 type, HMAC/KMAC verification APIs, Happy Eyeballs for Socket.ConnectAsync, and JIT startup improvements.
Read at InfoQ
Unable to calculate read time
Collection
[
|
...
]