gpt4 book ai didi

c++ - 我如何最好地阅读 boost 序列化文件?

转载 作者:太空宇宙 更新时间:2023-11-04 14:21:28 25 4
gpt4 key购买 nike

我想我的问题部分源于这个问题:std::ifstream buffer caching.我有一个 boost 序列化存档,目前正在使用 & 读取它帮助中建议的运算符。我的理解是这转化为 <<>>用于输入和输出操作。现在从上面的问题来看,那些运营商,连同fstream , 不要给出最佳性能。

我需要做的是读取一些 100k 的对象并按顺序处理它们,然后删除它们。现在我确实在做

  1. 读取一个对象 2. 处理它 3. 删除它 4. 重复。

我想知道我是否应该将其更改为

  1. 将所有对象读入队列 2.处理队列 3.删除所有内容

或者我是否应该为文件实现一些缓冲区并先将二进制文件读入缓冲区?

或者启动第二个线程并让第二个线程通过线程切换读取文件?

并部分重复上述问题,但是否有人在尝试优化 fstream 的缓冲区方面有更多经验,或者甚至可能是一个工作示例?

谢谢

最佳答案

改变它没有意义。默认情况下,它无论如何都会通过一个缓冲读取器,并且这个读取器无论如何都会以 4k block 读取硬盘驱动器。一个一个地阅读它们可以更好地回收内存。唯一可能有意义的是将 4k 更改为不同的数字。

关于c++ - 我如何最好地阅读 boost 序列化文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com