我需要从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