Я часто вижу на форумах Elixir:
"path/to/file" |> File.stream!(read_ahead: 100_000)
Что означает read_ahead: 100_000 ?
Это один из stream_mode . Его значение описано в документации erlang :
{read_ahead, Size} Активирует буферизацию считываемых данных. Если вызовы read / 2 предназначены для значительно меньших, чем Size байтов, операции чтения в операционной системе по-прежнему выполняются для блоков Size байтов. Дополнительные данные буферизуются и возвращаются в последующих вызовах read / 2, что дает прирост производительности по мере уменьшения количества вызовов операционной системы.
{read_ahead, Size}