在Python中初始化和訪問大型數組元素的有效方法是什麼?1億個零的高效Python數組?
我想在Python中創建一個數組,其中有1億個條目,無符號4字節整數,初始化爲零。我想要快速的數組訪問,最好是連續的內存。
奇怪的是,NumPy陣列似乎表現非常慢。有我可以嘗試的替代方案嗎?
有array.array模塊,但我沒有看到一種方法來有效地分配1億塊條目。
迴應評論:
- 我不能用一個稀疏數組。這個算法對於這個算法來說太慢了,因爲這個陣列變得非常快速。
- 我知道Python被解釋,但肯定有辦法做快速數組操作?
- 我做了一些分析,並用NumPy每秒獲得大約160K個數組訪問(按索引查找或更新元素)。這似乎很慢。
您正在談論數百MB的數組,解釋性語言......對於您來說,速度有多慢? – 2010-02-06 20:49:41
你的數組會稀疏嗎?爲實際使用的條目分配內存可能會更好。 – 2010-02-06 20:51:07
您可能想詳細說明您想如何處理它。 「高效」本身沒有意義。 – balpha 2010-02-06 20:51:19