2013-12-20 55 views
3

我開發了一個使用低級別Cython的庫來解決跨2D數組的流動問題。如果這些數組是numpy數組,我可以靜態地鍵入它們,從而避免Python解釋器隨機訪問這些數組的開銷。要處理大小如此之大的數組,他們不適合內存,我打算使用pytables中的hd5file數組代替numpy,但我無法弄清楚是否可以靜態鍵入一個CArray。我可以在Cython中靜態鍵入h5file數組嗎?

是否可以在Cython中靜態鍵入hd5file CArrays以避免在隨機訪問這些數組時遇到Python解釋器開銷?

回答

1

如果你使用h5py包,你可以在它提供給你的數據集上使用numpy.asarray(),那麼你就有一個更熟悉的NumPy數組,你已經知道該如何處理。

請注意,h5py了與此相關的,直到幾年前的一個錯誤做asarray()時造成災難性的性能下降,但這是解決了,所以如果你要試試這個,請不要使用一個非常老的版本。

相關問題