Предполагая, что есть некоторый фрагмент кода, который читает файлы для нескольких потребителей, и файлы имеют любой произвольный размер: При каком размере становится более эффективным читать файл асинхронно? Или, другими словами, насколько маленьким должен быть файл, чтобы он быстрее читался синхронно?
Я заметил (и, возможно, я ошибаюсь), что при чтении очень маленьких файлов их асинхронное чтение занимает больше времени, чем синхронного (в частности, в .NET). Я предполагаю, что это связано с настройкой времени для таких вещей, как порты завершения ввода-вывода, потоки и т. Д.
Есть ли здесь какое-то эмпирическое правило? Или это зависит от системы и окружающей среды?