Должны ли мы перейти на использование асинхронного ввода-вывода по умолчанию?

С преимуществами асинхронного ввода-вывода и тем, что теперь довольно легко кодировать и составлять (используя Await и методы TAP), мне интересно, следует ли нам использовать асинхронность по умолчанию и настраивать производительность только с помощью синхронизации, когда это необходимо.

Асинхронный ввод-вывод освобождает вызывающий поток и позволяет делать что-то еще, ожидая результата. С другой стороны, асинхронный ввод-вывод немного медленнее, чем синхронизация.

Для реализации адаптивных пользовательских интерфейсов разработчики WinRT сочли приемлемым предлагать асинхронные методы.

AFAIK Windows файловый ввод-вывод внутренне является асинхронным. Глядя на это наивно, мне не ясно, почему асинхронный ввод / вывод файла в .NET должен быть медленнее, чем синхронизация.

Я вообще одобряю простоту и надежность и настраиваюсь только на производительность там, где это необходимо. В прошлом мы использовали синхронизацию по умолчанию, за исключением вызова некоторых сервисов и там, где на таких платформах, как телефон, применялась асинхронность. Мы редко настраиваемся с помощью async.

Ответы на вопрос(2)

Ваш ответ на вопрос