22得票5回答
如何在.NET中快速从内存映射文件中读取字节?

在某些情况下,MemoryMappedViewAccessor 类并不能高效地读取字节;我们最好得到的是通用的 ReadArray<byte>,对于所有结构都是相同的路线,当你只需要字节时就涉及多个不必要的步骤。 虽然可以使用 MemoryMappedViewStream,但由于...

21得票2回答
内存映射的MappedByteBuffer还是直接的ByteBuffer用于数据库实现?

这看起来像是一个很长的问题,因为有很多背景信息。下面的小说中有两个问题。感谢您花时间阅读并提供帮助。 情况 我正在开发一个可扩展的数据存储实现,可以在32位或64位系统上处理从几KB到TB甚至更大的数据文件。 数据存储使用了写时复制的设计;始终将新的或修改过的数据追加到数据文件的末尾,而...

20得票9回答
Java:内存高效的ByteArrayOutputStream

我在磁盘上有一个40MB的文件,我需要使用字节数组将其“映射”到内存中。 起初,我认为将文件写入ByteArrayOutputStream是最好的方法,但我发现在复制操作期间某个时刻它占用了大约160MB的堆空间。 有人知道更好的方法吗,而不使用三倍于RAM的文件大小? 更新:谢谢你们的...

20得票3回答
能否将内存映射文件 np.concatenate 连接起来?

我使用 np.save() 保存了几个 numpy 数组,它们的总大小非常大。 是否可以将它们全部作为内存映射文件加载,然后通过连接和切片来处理所有数组,而无需将任何内容加载到内存中?

19得票3回答
.NET 4.0 内存映射文件性能

我想知道是否有人尝试过新的.NET 4.0内存映射文件功能?我知道它们与操作系统一样古老,但在.NET中的本地处理是新的。 有人能够测试并就性能发表意见吗?我对二进制文件随机部分的访问时间、写入速度等非常感兴趣。同时,与本地WinAPI MMF的性能比较也很好。 谢谢!

18得票2回答
在Java中读取C++的内存映射文件

我有一个使用C++编写的程序,在其中的某一点使用了hMapFile = OpenFileMapping(dwDesiredAccess, bInheritHandle, lpName); lpName是类似于没有扩展名或路径的"myfile",即内存映射文件。我可以使用WinObj-Brows...

18得票6回答
系统错误 0x5:CreateFileMapping()

我希望使用命名的共享内存来实现进程间通信(IPC)。 为了达成这个目标,其中一步是获取一个句柄到映射内存对象(Mapping Memory Object),使用CreateFileMapping()。 我按照MSDN网站的建议进行操作:http://msdn.microsoft.com/e...

18得票1回答
为什么从内存映射文件读取数据速度如此之快?

我对内存映射输入/输出没有太多经验,但是第一次使用后,我被它们的速度惊呆了。在我的性能测试中,我发现从内存映射文件读取比通过常规C++ stdio读取快30倍。 我的测试数据是一个3GB的二进制文件,其中包含20个大型双精度浮点数数组。我的测试程序结构是,调用外部模块的读取方法,该方法在幕后...

16得票3回答
文件的内存映射与CreateFile/ReadFile的区别

使用内存映射文件读取(常规大小的文件)相较于使用CreateFile和ReadFile组合读取,有哪些缺点(如果有)?

16得票2回答
如何防止在Windows临时删除关闭文件上打开的内存映射刷新到磁盘

更新2 / TL;DR 有没有什么方法可以防止在关闭打开的内存映射后,将 FILE_FLAG_DELETE_ON_CLOSE 的临时文件的脏页面刷新? 有。 如果您在文件创建后不需要对文件本身进行任何操作,并且实现了一些命名约定,则可以通过 this answer 中解释的策略实现此目...