Главное правило — не грузи весь файл в память через ioutil.ReadAll. Используй bufio.Scanner для построчного чтения или io.Reader для потоковой обработки. Если формат позволяет — JSON decoder, CSV reader тоже работают потоково. Для очень больших файлов можно использовать mmap через syscall, но это усложняет код. Буферизованный ридер с хорошим размером буфера (32-64 КБ) покрывает большинство случаев. Если нужен параллелизм — раздели файл на чанки и обрабатывай в горутинах.
Как эффективно читать большие файлы?
Middle
857 просмотровAFK Offer AI
Что такое data race?