¿Deberíamos cambiar a utilizar E / S asíncronas de forma predeterminada?

Con las ventajas de la E / S asíncrona y ahora es bastante fácil codificar y componer (usando los métodos Await y TAP) Me pregunto si deberíamos usar asíncrono de forma predeterminada y solo ajustar el rendimiento mediante la sincronización cuando sea necesario.

Async I / O libera el subproceso de llamada y permite hacer otra cosa mientras se espera el resultado. Por otro lado, la E / S asíncrona es un poco más lenta que la sincronización.

Para hacer cumplir las IU de respuesta, los diseñadores de WinRT consideraron aceptable ofrecer métodos solo asíncronos.

AFAIK La E / S de archivos de Windows internamente es asíncrona. Al ver esto ingenuamente no me queda claro, por qué un archivo I / O asíncrono en .NET debería ser más lento que la sincronización.

Por lo general, prefiero la simplicidad y la solidez y solo afino el rendimiento cuando sea necesario. En el pasado, usábamos la sincronización de forma predeterminada con la excepción de llamar a algunos servicios y donde las plataformas como el teléfono aplicaban el async. Rara vez sintonizamos utilizando async.

Respuestas a la pregunta(2)

Su respuesta a la pregunta