gpt4 book ai didi

c++ - 当应用程序需要更多 RAM 时,如何允许将一段内存换出到磁盘?

转载 作者:可可西里 更新时间:2023-11-01 09:56:02 24 4
gpt4 key购买 nike

我有一个很大的值矩阵,占用大约 2GB 的 RAM。

我需要形成这个矩阵的拷贝,然后可以将原始矩阵换出到磁盘,稍后加载。这个矩阵的内容很重要。最初计算它的成本很高,因此您不能轻易丢弃它并重新创建它。将矩阵放到磁盘,然后从磁盘重新加载它比从头开始重新计算要快。

有没有一种更容易或更好的方法来指定一段内存,以便在下次访问之前临时放在磁盘上,这是:

当不需要资源(2GB矩阵)时

  • 打开一个文件
  • 将文件写入磁盘
  • 释放内存

何时需要资源

  • 打开文件
  • 读入矩阵
  • 从磁盘中删除文件

我遇到了 File mapping但我不确定这是不是正确的用法

最佳答案

看看Memory Mapped Files .

Memory-mapped files (MMFs) offer a unique memory management feature that allows applications to access files on disk in the same way they access dynamic memory—through pointers.

操作系统将非常有效地将原始矩阵的部分交换到磁盘或从磁盘交换。

关于c++ - 当应用程序需要更多 RAM 时,如何允许将一段内存换出到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11253238/

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