Bei der Arbeit mit ValueTask in .NET ist es eine häufige, aber oft übersehene Optimierung, vor dem Awaiten IsCompletedSuccessfully zu prüfen. Dieses Muster, das in den Hot Paths von .NET-Runtime und ASP.NET Core weit verbreitet ist, vermeidet den Overhead des asynchronen Zustandsautomaten, wenn das Ergebnis bereits synchron verfügbar ist. Der Artikel erläutert die Gründe für diesen Ansatz und vergleicht ihn mit naivem Awaiten. Für Entwickler, die Hochdurchsatzdienste oder Bibliotheken erstellen, kann die Übernahme dieses Musters zu messbaren Verbesserungen bei Latenz und Speicherzuweisung führen.
Eine tiefgehende Erklärung des ValueTask-Await-Optimierungsmusters, das in .NET-Runtime und ASP.NET Core verwendet wird, um asynchrone Overheads zu reduzieren.