【发布时间】:2020-07-09 10:12:26
【问题描述】:
我经常在 Elixir 论坛上看到:
"path/to/file"
|> File.stream!(read_ahead: 100_000)
read_ahead: 100_000 是什么意思?
【问题讨论】:
我经常在 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 调用中返回,从而随着操作系统调用数量的减少而提高性能。
【讨论】: