ValueTaskを扱う際、IsCompletedSuccessfullyを先にチェックすることで、結果が同期的に利用可能な場合に非同期ステートマシンのオーバーヘッドを回避できます。このパターンは.NETランタイムやASP.NET Coreのホットパスで広く使われており、高スループットなサービスやライブラリの開発者にとって重要です。本記事では、単純なawaitとの比較やパフォーマンス上の利点を詳しく説明しています。.NETが非同期パフォーマンスを追求する中で、このようなマイクロ最適化を理解することは、高度なC#開発者にとって必須です。
ValueTaskのawait最適化パターンについて、.NETランタイムとASP.NET Coreで使われる理由とパフォーマンス効果を解説。