我的问题:我发现使用 STL 映射和向量使用原始 C++ 处理大型数据集通常比使用 Cython 快得多(并且内存占用更少)。
我认为这种速度损失的部分原因是由于使用了 Python 列表和字典,并且可能有一些技巧可以在 Cython 中使用较少的数据结构。例如,此页面 ( http://wiki.cython.org/tutorials/numpy ) 展示了如何通过预定义 ND 数组的大小和类型在 Cython 中非常快速地制作 numpy 数组。
问题:有没有办法对列表/字典做类似的事情,例如通过大致说明您希望其中有多少元素或(键,值)对?也就是说,是否有一种惯用的方式将列表/字典转换为 Cython 中的(快速)数据结构?
如果不是,我想我只需要用 C++ 编写它并包装在 Cython 导入中。