Supondo que exista um pouco de código que leia arquivos para vários consumidores e os arquivos sejam de qualquer tamanho arbitrário: em que tamanho se torna mais eficiente ler o arquivo de forma assíncrona? Ou, em outras palavras, quão pequeno deve ser um arquivo para que seja mais rápido apenas para lê-lo de forma síncrona?
Percebi (e talvez esteja incorreto) que, ao ler arquivos muito pequenos, leva mais tempo para lê-los de forma assíncrona do que síncrona (em particular com o .NET). Suponho que isso esteja relacionado ao tempo de configuração de coisas como portas de conclusão de E / S, threads etc.
Existe alguma regra de ouro para ajudar aqui? Ou é dependente do sistema e do ambiente?