julia - 我们可以在 Julia 中自定义文件打开缓冲区大小吗
问题描述
open()
io.h
设置由: = 32kb定义的内存缓冲区IOS_BUFSIZE
(以前为 128kb)
是否可以更改该值(未来的open
kwargs?)或使其适应磁盘块大小(在 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
推荐阅读
- android - Android:在网络响应上加载 Oncreate 布局
- python - dask.bag / dask.delayed for loop有什么区别,为dask中的python并行作业选择更好的方法
- firebase - 检测到 0 个或 2 个或多个 [DropdownMenuItem] 具有相同的值
- html - 仅在 CSS 动画完成后显示 HTML 正文(使用纯 CSS)
- c# - 如何在c#中限制用户在特定时间段后取消预订
- postgresql - 在 PostgreSQL 触发器中循环和测试 cte 的结果
- html - 如何使用 BeautifulSoup 提取每个 df1 内容(优点、缺点、df_tit)?
- reactjs - MUI Datetimepicker 使用下拉选择更改值
- javascript - Google Sheets Appscript 弹出提示响应并隐藏工作表,直到响应正确
- javascript - 使用 if 语句反应组件未在 .map 内呈现