gpt4 book ai didi

c++ - 将流加载到程序勺外的内存中

转载 作者:行者123 更新时间:2023-11-30 05:05:23 25 4
gpt4 key购买 nike

我正在调试一个依赖于大文件 ~1GB 的程序。我目前被困在没有 SSD 的低性能 PC 上。每次我在一些编辑后运行程序。这 1GB 已加载到内存中,这需要一些时间。

考虑到我从一开始就需要这个 1GB 的文件,而且无法从中加载我需要的内容。

是否有可能以某种方式(不必是标准的和可移植的)在退出程序后未被破坏的内存中的某个地方只加载一次,然后每次都从内存中的同一个地方使用它(某种指向操作系统级别内存块的指针)?

我正在使用 MSVC 2017 和 Windows 10。

最佳答案

是的,尝试设置一个 RAMDisk 并将此文件存储在 RAMDisk 中。它会一直存在,直到您关闭计算机或将其删除。

这将有效地允许您的系统读取/写入这个 1GB 的文件,就好像它存储在 RAM 上一样 - 这正是您想要的。但它只需要一次加载和一次卸载。

普通的 7200RPM 硬盘驱动器 - 您可能会在每次执行时从 HDD -> RAM 加载时看到这种情况

7200RPM

一个非常普通的 SSD。如您所见,在此基准测试中速度提高了大约四倍。

SSD

使用 RAMDisk,在本例中使用 AMD Radeon RAMDisk 软件进行设置

RAMDISK

换句话说,这并不是一个真正的编程解决方案 - 它只是一种解决方法,适用于您的机器没有 SSD 来存储这个大文件以用于读/写目的。您的代码可能会保持不变,它只会从您必须设置的 RAMDISK 中读取文件。

希望这对您有所帮助!

关于c++ - 将流加载到程序勺外的内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48409217/

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