非同期I/Oの利点は、(AwaitとTAPメソッドを使用して)コードや構成を行うのが非常に簡単で、デフォルトで非同期を使用し、必要なときに同期を使用してパフォーマンスを調整する必要がある場合です。デフォルトで非同期I/Oを使用するように切り替える必要がありますか?
非同期入出力は呼び出しスレッドを解放し、結果を待っている間に何か他のことを行うことを許可します。一方、非同期I/Oは同期より少し遅いです。
WinRTのデザイナーは、レスポンシブUIを強化するために、非同期のみのメソッドを提供することを認めました。
AFAIK WindowsファイルI/Oは内部的に非同期です。これをnaiveに見ると、.NETの非同期ファイルI/Oが同期よりも遅くなるのはなぜか分かりません。
私は一般的にシンプルさと堅牢性を好み、必要に応じてパフォーマンスを調整します。過去にはいくつかのサービスを呼び出すことを除いてデフォルトで同期を使用していましたが、電話機のようなプラットフォームでは非同期を適用していました。非同期を使用することでめったに調整されません。
[pfxteam blog](http://msdn.microsoft.com/en-us/magazine/jj133817.aspx)には、次のような興味深い情報が含まれています。 *「非同期バージョンのTextReader.Peekのような細かい粒度のAPIを使用する理由は、非同期APIでもオーバーヘッドが増え、開発者が間違った方向に向かうのを防ぐためです。 BinaryReaderまたはBinaryWriter .... * –