Файловый поток: Эликсир - PullRequest
1 голос
/ 09 июля 2020

Я часто вижу на форумах Elixir:

"path/to/file"
|> File.stream!(read_ahead: 100_000)

Что означает read_ahead: 100_000 ?

1 Ответ

1 голос
/ 09 июля 2020

Это один из stream_mode . Его значение описано в документации erlang :

{read_ahead, Size} Активирует буферизацию считываемых данных. Если вызовы read / 2 предназначены для значительно меньших, чем Size байтов, операции чтения в операционной системе по-прежнему выполняются для блоков Size байтов. Дополнительные данные буферизуются и возвращаются в последующих вызовах read / 2, что дает прирост производительности по мере уменьшения количества вызовов операционной системы.

...