我需要從Python腳本中的文件(到Python列表)中加載(反序列化)預先計算的整數列表。該列表很大(高達數百萬個項目),並且只要加載速度最快,我就可以選擇存儲它的格式。Python列表序列化 - 最快的方法
哪個是最快的方法,爲什麼?
- 上只包含賦值給變量
- 使用列表中
cPickle
的load
- 其他一些方法(也許
numpy
?)
另外一個.py文件使用import
,如何人們可以可靠地基準這些東西嗎
附錄:測量這個可靠是困難的,因爲import
被緩存,所以它不能在測試中多次執行。在第一次之後,使用pickle的加載也會變得更快,可能是因爲操作系統的頁面預緩存。裝載100萬個數字cPickle
第一次運行需要1.1秒,後續執行腳本需要0.2秒。
直覺上我覺得cPickle
應該更快,但我會欣賞數字(我認爲這是一個相當大的挑戰)。
是的,這對我來說很重要,它的執行速度很快。
謝謝
這真的是你的代碼的緩慢部分?你多久會加載一次文件? – 2009-02-17 13:23:55
你有沒有試過這些?你現在有什麼指標? – 2009-02-17 13:30:10
對於它的價值,您可以通過使用「execfile()」來避免導入問題... – gahooa 2009-02-19 05:59:27