我正在研究C ++项目,我需要快速访问字节值。
我已经对内存映射文件,数据的智能排序进行了很多实验,因此只需读取很少的内容,等等。
我只是无法让它足够可靠地快速工作。在某些情况下,磁盘访问和文件查找似乎是瓶颈。
我现在正在考虑将整个字节数据(无符号字符)加载到RAM中。
但是,它是39567865个未签名的字符。它可以在我的计算机上运行,但是我希望它可以在所有计算机上运行。
有人可以告诉我我的方法是否疯狂?换句话说:对于通用软件(不是在超级计算机上运行的某些科学方法)将如此大量的数据加载到RAM中以使其能够快速访问是否有效?
最佳答案
字符为1字节宽,因此
39567865 / 1024 = 38,640 kb
这大约是37.7 Mb。除非您计划在RAM很少的嵌入式计算机上工作,否则您会没事的。供参考:您正在使用的计算机很可能具有4-8 Gb的RAM,内存消耗约为该内存的0.4%-0.8%。
关于c++ - 将39567865无符号字符加载到RAM:有效方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17390679/