非同期 I/O の利点と、(Await メソッドと TAP メソッドを使用して) コーディングと構成が非常に簡単になったため、デフォルトで非同期を使用し、必要なときにのみ同期を使用してパフォーマンスを調整する必要があるかどうか疑問に思っています。
非同期 I/O は、呼び出し元のスレッドを解放し、結果を待っている間に別のことを実行できるようにします。一方、非同期 I/O は同期よりも少し遅くなります。
レスポンシブ UI を強制するために、WinRT デザイナーは、非同期のみのメソッドを提供することが許容されることを発見しました。
AFAIK Windows ファイル I/O は内部的に非同期です。これを素朴に見ると、.NET の非同期ファイル i/O が同期よりも遅くなる理由がはっきりしません。
私は通常、シンプルさと堅牢性を好み、必要な場合にのみパフォーマンスを調整します。以前は、一部のサービスの呼び出しと、電話などのプラットフォームが非同期を強制する場合を除いて、デフォルトで同期を使用していました。非同期を使用して調整することはめったにありません。