我可以在本地磁盘上使用boost geometry吗

我可以在本地磁盘上使用boost geometry吗,boost,boost-geometry,Boost,Boost Geometry,我是几何新手。在我的例子中,我需要处理大量的数据节点,因此它们无法保存在内存中。 可以将boost geometry与本地文件系统一起使用吗 一般的答案是:使用Boost进程间(IPC)中的内存映射文件和使用IPC分配器的(Boost)容器。[1] 这将使透明地(至少在64位进程中)处理/虚拟地/无限的数据大小成为可能 但是分页很昂贵 Boost Geometry可能没有针对顺序访问模式进行优化,因此您可能需要严格掌握算法的工作原理以及应用它们的顺序。否则,扩展这种卷(为了简单起见,我假设大于1

我是几何新手。在我的例子中,我需要处理大量的数据节点,因此它们无法保存在内存中。
可以将boost geometry与本地文件系统一起使用吗

一般的答案是:使用Boost进程间(IPC)中的内存映射文件和使用IPC分配器的(Boost)容器。[1]

这将使透明地(至少在64位进程中)处理/虚拟地/无限的数据大小成为可能

但是分页很昂贵

Boost Geometry可能没有针对顺序访问模式进行优化,因此您可能需要严格掌握算法的工作原理以及应用它们的顺序。否则,扩展这种卷(为了简单起见,我假设大于16Gb)实际上会由于分页而变得非常慢

在所有通常情况下,扩展到非平凡卷需要调整算法,甚至为此编写目标算法

在不了解手头实际任务的情况下,您可以尝试

  • 从内存映射数据分配开始
  • 慢慢开始构建算法步骤,一次一个
  • 每一步,在密切关注探查器的同时,以增量方式增长数据集
您的探查器将告诉您哪一步引入了性能瓶颈,以及在多大程度上它变得清晰可见


[1] 这给了你“免费”的持久性;但是,请记住,您在适当的时间负责事务和fsync。此外,连续/连续容器工作得最好