2013-12-20 26 views
3

我开发了一个使用低级别Cython的库来解决跨2D数组的流动问题。如果这些数组是numpy数组,我可以静态地键入它们,从而避免Python解释器随机访问这些数组的开销。要处理大小如此之大的数组,他们不适合内存,我打算使用pytables中的hd5file数组代替numpy,但我无法弄清楚是否可以静态键入一个CArray。我可以在Cython中静态键入h5file数组吗?

是否可以在Cython中静态键入hd5file CArrays以避免在随机访问这些数组时遇到Python解释器开销?

回答

1

如果你使用h5py包,你可以在它提供给你的数据集上使用numpy.asarray(),那么你就有一个更熟悉的NumPy数组,你已经知道该如何处理。

请注意,h5py了与此相关的,直到几年前的一个错误做asarray()时造成灾难性的性能下降,但这是解决了,所以如果你要试试这个,请不要使用一个非常老的版本。

相关问题