更快地重复使用 bz2.BZ2File 进行酸洗
Faster repetitive uses of bz2.BZ2File for pickling
我反复腌制多个对象,但不是连续的。但事实证明,pickled 输出文件太大(每个大约 256MB)。
所以我尝试了bz2.BZ2File
而不是open
,每个文件变成了1.3MB。 (是的,哇。)问题是它花费的时间太长(比如 95 秒酸洗一个对象),我想加快速度。
每个对象都是一个字典,它们中的大多数具有相似的结构(或层次结构,如果这样描述更好的话:几乎相同的一组键,并且对应于每个键的每个值通常具有一些特定的结构,并且很快)。许多字典值都是numpy数组,我认为那里会出现很多零。
你能给我一些建议让它更快吗?
谢谢!
我最终使用了 lz4,这是一种速度极快的压缩算法。
有a python wrapper,安装方便:
pip install lz4
我反复腌制多个对象,但不是连续的。但事实证明,pickled 输出文件太大(每个大约 256MB)。
所以我尝试了bz2.BZ2File
而不是open
,每个文件变成了1.3MB。 (是的,哇。)问题是它花费的时间太长(比如 95 秒酸洗一个对象),我想加快速度。
每个对象都是一个字典,它们中的大多数具有相似的结构(或层次结构,如果这样描述更好的话:几乎相同的一组键,并且对应于每个键的每个值通常具有一些特定的结构,并且很快)。许多字典值都是numpy数组,我认为那里会出现很多零。
你能给我一些建议让它更快吗?
谢谢!
我最终使用了 lz4,这是一种速度极快的压缩算法。
有a python wrapper,安装方便:
pip install lz4