julia - 我们可以在 Julia 中自定义文件打开缓冲区大小吗

标签 julia buffer

open() 设置由 io.h 定义的内存缓冲区:IOS_BUFSIZE = 32kb(之前为 128kb)

是否可以更改该值( future open kwargs?)或使其适应磁盘 block 大小(在 GPFS 等中通常非常大)?

最佳答案

据我所知,目前无法从 Julia 更改此设置(除非在 Julia 中重新实现 ios.c:_buf_realloc)。通过 PR 将此功能添加到 Julia 中非常容易。例如将类似以下内容添加到 src/support/ios.c :

int ios_growbuf(ios_t *s, size_t sz)
{
    return _buf_realloc(s, sz) == NULL;
}

然后像base/iostream.jl中的内容一样:

function sizehint!(s::IOStream, sz::Integer)
    ccall(:ios_growbuf, Cint, (Ptr{Cvoid}, Csize_t), s.ios, sz) != 0 &&
        throw(OutOfMemoryError())
end

关于julia - 我们可以在 Julia 中自定义文件打开缓冲区大小吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65200699/

相关文章:

julia - 尝试从 Julia 中的 Arrow Dataframe 获取行时出现 MethodError

julia - PlutoUI.jl 中的双向绑定(bind)?

c++ - 将文件读入缓冲区

java - 0x0A 和 0x0D 的区别

java - 如何将一定数量的字节读入缓冲区?

function - Julia Do 函数的语法是如何工作的?

list - 如何在 Julia 中将 Float 类型的数组转换为 Int?

javascript - Node 6 Buffer 构造函数已弃用,用什么代替?

linux - 从标准输入读取大量数据

Julia:给定一个迭代器 `itr` ,是否有有效的数据结构和算法来获取 `n` 的前 `itr` 值的索引?