【发布时间】:2010-09-14 03:00:48
【问题描述】:
我目前正在处理一个需要大量内存的医学图像处理项目。我可以做些什么来避免堆碎片并加快对已加载到内存中的图像数据的访问?
该应用程序是用 C++ 编写的,可以在 Windows XP 上运行。
编辑: 应用程序对图像数据进行一些预处理,例如重新格式化、计算查找表、提取感兴趣的子图像......在处理过程中应用程序需要大约 2 GB RAM,其中大约 1.5 GB 可用于图像数据。
【问题讨论】:
-
您可以编写自己的自定义分配器,但这很难。
-
我赌的是 C++ - 但这是真的:只要不知道潜在的“范式”,这个问题就无法回答......
-
这个问题需要澄清一些。什么是“巨大”的内存量?什么语言(如前所述)。您担心碎片化在哪里——在已经加载的图像数据中,还是因为必须操作数据而担心?
-
这个问题已经在here讨论过。也许你可以在那里找到一些有用的信息。
标签: performance memory-management heap-memory fragmentation