1

我正在测试 pymesh 中布尔运算的效率,以查看它计算布尔值的速度。但是与libigl 论文相比,我使用默认引擎获得的性能非常慢

0.25 s 计算 8616 个网格的自联合。

我做了一个与一个小的原始盒子相交的纹理网格的实验。纹理有 12 个顶点,原始框有 8 个顶点。谷物的位置刚好在盒子的一张脸的上方。计算这两个对象的交集用了 0.036 秒。

这么简单的计算,为什么需要 0.036 秒?在执行此布尔运算时,将我们的 Libigl pymesh 作为引擎,它是用 C++ 编写的。我是否必须用 C++ 编写代码才能直接使用 Libigl 才能获得类似的性能?

这些结果是在以下环境中产生的:

  • 处理器:2.3 GHz 双核 Intel Core i5
  • 内存:8 GB 2133 MHz LPDDR3
  • 操作系统:Mac OS Catalina 10.15.7
  • IDE:Visual Studio 代码、Jupyter Notebook
  • Python版本:3.7.5
  • Pymesh 版本:pymesh2==0.3
4

1 回答 1

0

PyMesh 将自己描述为一个快速原型库,它依赖于许多其他库。

如果您想直接使用Python 中的libigl,您可能希望尝试他们的Python 绑定

无论哪种情况,请确保使用timeit模块测量程序的速度。

于 2021-01-21T10:31:00.877 回答