我可以在本地磁盘上使用boost几何

时间:2013-12-18 15:23:37

标签: boost boost-geometry

我是新手来提升几何。在我的情况下,我需要处理大量的数据节点,因此它们无法保存在内存中。 是否可以将boost几何与本地文件系统一起使用?

1 个答案:

答案 0 :(得分:3)

一般答案是:使用来自Boost Interprocess(IPC)的内存映射文件和使用IPC分配器的(boost)容器。 [1]

这样就可以透明地处理/虚拟/无限数据大小(至少在64位进程中)。

然而 分页费用

Boost Geometry可能没有针对顺序访问模式进行优化,因此您可能需要非常紧密地使用哪些算法以及应用它们的顺序。否则,缩放这种音量(为简单起见,我假设> 16Gb)实际上会因为分页而变得难以忍受。

在所有通常情况下,扩展到非平凡的卷涉及调整算法,甚至为此目的编写目标文件。

如果不了解手头的实际任务,您可以尝试

  • 从内存映射数据分配开始
  • 慢慢开始逐个构建算法步骤
  • 每一步,逐步增加数据集,同时密切关注探查器

您的探查器将告诉您哪个步骤引入了性能瓶颈以及它变得可辨别的音量。


[1] 这为你提供了“免费”的持久性;但是,请记住,您在适当的时间负责交易和fsyncing。此外,连续/顺序容器效果最佳。