python:快速轻量级持久化

时间:2011-09-19 17:58:27

标签: python persistence

我正在编写一个在相当慢的手机(以及其他平台)上运行的python程序。使用pickle读取手机上的数据需要大约2秒钟,而simplejson则要慢得多。手机运行python 2.5.4

数据位于一组类中的各种列表和词典中。我可以相对快速地转换为json格式。大部分时间似乎是在pickle或json处理中,因为只是读取或写入json或pickle文件比使用pickle或json快得多。

程序必须读取整个数据集并定期编写。

我想我可以创建一些方法将数据转换为文本,看看是否更快,但重新发明轮子很少值得努力。

还有哪些其他存储选择可能有意义?

1 个答案:

答案 0 :(得分:4)

marshal模块怎么样?根据{{​​3}},它明显快于泡菜。 但是,请非常确定以阅读并理解文档顶部的警告。

另外,只是为了确保:你使用cPickle吗?如果没有,请尝试 - 它明显快于pickle

或者,由于您的数据非常简单,您可以使用these benchmarks编写自己的数据。如果你想走这条路,那么pyrex将是一个很好的起点。