【问题标题】:Is there any memory virtual file API in Windows?Windows中是否有任何内存虚拟文件API?
【发布时间】:2011-05-15 11:19:41
【问题描述】:

我有一个模块通过其路径加载文件, 但是我发现它很慢。 我想加速它, Windows中是否有任何技术可以为模块创建虚拟内存文件?

非常感谢

【问题讨论】:

  • 文件加载速度慢是什么原因?它是一个巨大的文件吗?您是否在每条线/记录上进行 CPU 密集型计算?您是否使用非最佳函数来读取文件流?让我们看看您的代码和文件大小/加载时间的想法。我认为 VM 不会帮助您。
  • 内存映射文件不会神奇地让您的硬盘工作得更快。它们仍然使用相同的 IO 系统。

标签: c++ windows file memory virtual


【解决方案1】:

我测试了BoxedApp SDK

它很棒,但它不是免费的:)

【讨论】:

    【解决方案2】:

    我不完全确定你在问什么,但如果你只是想创建一个将存在于 RAM 中的临时文件(如果可能的话),你可以使用 CreateFileFILE_ATTRIBUTE_TEMPORARY.

    【讨论】:

      【解决方案3】:

      假设您在谈论内存映射文件,是的,有相应的 API。在一个小小的 SO 答案中讨论太多了,而且我已经使用了很多年,所以我什至不记得函数名称。以下是我快速找到相关信息的方法:http://www.google.com/search?q=memory+mapped+file+windows

      但是,其他更简单的方法可能是“我发现它很慢”的答案。

      速度慢可能有很多不同的原因。请发布一些代码。然后才能给出更好的答案。

      欢呼吧,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-09
        • 2011-03-19
        • 1970-01-01
        • 2012-06-30
        • 2014-01-16
        • 2017-12-08
        • 1970-01-01
        相关资源
        最近更新 更多