gpt4 book ai didi

c++ - 直接提供数据而不是文件路径

转载 作者:行者123 更新时间:2023-11-28 01:37:08 24 4
gpt4 key购买 nike

我正在处理一个封闭源代码库,它需要将一些数据传递给它才能工作。此数据约为 150 MB。在初始化具有以下构造函数的库的主类时,我将这些数据加载到内存中:

Foo::Foo(const std::string path_to_data_file);

Foo 将数据作为文件接受,并且没有其他重载直接接受数据(作为字符串或字节数组...)。

在我的例子中,调用库的唯一可能方法是将我必须的数据写入磁盘,然后将文件的路径传递给库,这是一个非常糟糕的主意..

是否有任何技术可以将某种虚拟路径传递给库,从而导致直接从内存而不是磁盘读取数据?

换句话说,我正在寻找(如果它存在或什至可能)一些创建虚拟文件的技术,该虚拟文件导致内存地址而不是磁盘上的物理地址。

我知道正确的解决方案是编辑库并将数据层与处理层隔离。然而,至少现在这是不可能的..

编辑:

解决方案应该是跨平台的。但是,我可以猜测这些问题通常与操作系统有关。所以,我正在寻找 Linux 和 Windows 解决方案。

图书馆正在做一些计算机视觉的东西,数据是一种经过训练的模型

最佳答案

它可能是特定于操作系统的。但是您可以将数据放入一些 RAM 或基于虚拟内存的文件系统中,例如 tmpfs .

那么您不需要更改库,只需将 tmpfs 文件系统中的一些文件传递给它即可。

顺便说一句,在某些操作系统上,如果您最近写了一个文件,它位于 page cache 中(在 RAM 中也是如此)。

另请注意,读取 150Mb 应该不会花费太多时间。如果你不能把它放在一些 tmpfs 或 RAM 磁盘上,至少尝试使用一些 SSD。

关于c++ - 直接提供数据而不是文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48813894/

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