10得票2回答
如何在.NET中使用互锁操作来处理内存映射文件

有没有办法在内存映射文件中使用 Interlocked.CompareExchange(); 和 Interlocked.Increment(); 方法? 我想实现一个多线程服务,将其数据存储在内存映射文件中,但由于它是多线程的,我需要防止冲突写入,因此我想使用Interlocked操作而不...

8得票2回答
使用内存映射文件在C++中解析二进制文件速度过慢

我正在尝试整数方式解析二进制文件以检查整数值是否满足某个条件,但循环非常缓慢。 此外,我发现内存映射文件是将文件快速读入内存的最快方法,因此我正在使用以下基于Boost的代码: unsigned long long int get_file_size(const char *file_pat...

7得票2回答
内存映射文件:优缺点?

我需要在同一台机器上的两个Java应用程序之间共享数据(两个不同的JVM)。我需要分享的数据很大(约7 GB)。这些应用程序必须非常快地访问数据,因为它们必须以非常高的速率响应传入的查询。我不希望这些应用程序各自拥有数据的副本。 我发现其中一个选项是使用内存映射文件。应用程序A从某个地方获取...

7得票2回答
我该如何在sbcl中内存映射tmpfs文件?

正如问题所述,我想使用共享内存在两个Lisp进程之间通信。有关如何实现此操作的任何指针吗? 我可以看到一些在clozure中完成此操作的教程:- http://ccl.clozure.com/manual/chapter4.7.html 有人能指向一个类似的库来在sbcl中完成此操作吗?

7得票1回答
访问共享内存映射文件视图的数量(Windows)

我正在开发一个跨平台的C++应用程序(主要在Windows和Linux上),现在我需要能够限制同一台机器上可以同时运行的应用程序实例的最大数量。 我已经拥有了一个使用以下共享内存模块: - Linux:System V共享内存(shmget(),shmat()...) - Windows:...

7得票2回答
MATLAB:如何使用简单的“迭代器”创建多个映射内存文件?

我有100个以上的文件,每个文件都包含类似下面这样的记录数据集: file0: [文件中的数据集数量、第1个记录点的数据点数、与第1个记录有关的数据、第2个记录点的数据点数、与第2个记录有关的数据,... ,第M个记录点的数据点数、与第M个记录有关的数据] file1: [文件中的数据集数...

11得票1回答
Java - 堆内存 vs 直接内存访问

我最近发现了sun.misc.Unsafe类,允许用户以类似于C语言的方式分配、释放和访问内存。我阅读了几篇博客来解决这个问题,例如: Java堆还是直接内存更快 - 测试结果声称堆更快 Off-heap 内存 vs DirectByteBuffer vs Heap - Off-heap ...

7得票2回答
内存映射文件:如何监控内存使用情况

我正在开发一个需要大量内存(高达几GB)的32位终端用户应用程序。最近,我将我们的内部内存分配策略更改为灵感来自于这篇 Raymond Chen 文章的无文件内存映射方式。它运行良好。 唯一的缺点是:如果我用这种方式分配1GB的内存,它在性能计数器中不会显示任何东西。当然,我知道分配了多少内...

10得票1回答
内存映射文件的性能特征

背景: 我有一个Java应用程序,在大型内存映射文件(>500MB)上进行密集的IO操作。该程序读取数据,写入数据,有时同时进行读写操作。 所有读/写功能具有类似的计算复杂度。 我对程序的IO层进行了基准测试,并注意到了内存映射文件的奇怪性能特征: ...

9得票1回答
如何异步刷新内存映射文件?

我正在使用内存映射文件在Windows 7 64位系统下读取/写入大量图像文件(~10000 x 16 MB)。我的目标是: 尽可能多地缓存数据。 能够尽快地分配新图像并写入这些图像。 因此,我使用内存映射文件来访问文件。缓存效果很好,但操作系统直到我几乎用完物理内存才会刷新脏页。因此...