Leia o arquivo inteiro na memória VS leia em pedaços

Eu sou relativamente novo em C # e programação, então por favor, tenha paciência comigo. Estou trabalhando em um aplicativo em que preciso ler alguns arquivos e processá-los em pedaços (por exemplo, os dados são processados em pedaços de 48 bytes

Gostaria de saber o que é melhor, em termos de desempenho, ler o arquivo inteiro de uma vez na memória e processá-lo ou ler arquivos em pedaços e processá-los diretamente ou ler dados em pedaços maiores (vários pedaços de dados que são processados).

Como eu entendo as coisas até agora:

Leia o arquivo inteiro na memória
pros:
-É rápido, porque a operação mais cara está buscando, uma vez que a cabeça está no lugar, ela pode ler muito rapidamente

cons:
Consome muita memória
- Consome muita memória em muito pouco tempo (é disso que eu tenho mais medo, porque não quero que isso cause um impacto perceptível no desempenho geral do sistema)

Leia o arquivo em pedaços
pros:
-É mais fácil (mais intuitivo) implementar

while(numberOfBytes2Read > 0)
   read n bytes
   process read data

-Consome muito pouca memória

cons:
-Istopoderi demore muito mais tempo, se o disco precisar buscar o arquivo novamente e mover a cabeça para a posição apropriada, o que em média custa cerca de 12 m

Sei que a resposta depende do tamanho do arquivo (e do hardware). Suponho que é melhor ler o arquivo inteiro de uma só vez, mas para que tamanho de arquivo é verdade, qual é o tamanho máximo recomendado para ler na memória de uma só vez (em bytes ou em relação ao hardware - por exemplo,% de RAM

brigado por suas respostas e temp

questionAnswers(2)

yourAnswerToTheQuestion