Lorsqu'on travaille avec ValueTask en .NET, une optimisation courante mais souvent négligée consiste à vérifier IsCompletedSuccessfully avant d'attendre. Ce modèle, répandu dans les chemins chauds du runtime .NET et d'ASP.NET Core, évite la surcharge de la machine d'état asynchrone lorsque le résultat est déjà disponible de manière synchrone. L'article explore la logique derrière cette approche et la compare à une attente naïve. Pour les développeurs de services à haut débit ou de bibliothèques, adopter ce modèle peut améliorer la latence et l'allocation mémoire.
Une analyse approfondie du modèle d'optimisation ValueTask utilisé dans le runtime .NET et ASP.NET Core, expliquant pourquoi vérifier IsCompletedSuccessfully en premier réduit les surcharges asynchrones.