【发布时间】:2017-12-15 20:58:07
【问题描述】:
假设有许多(大约 300,000 个)JSON 文件需要很长时间(大约 30 分钟)才能加载到 Python 对象列表中。分析显示,实际上花费大部分时间的不是文件访问,而是解码。有没有可以将这些文件转换成的格式,可以更快地加载到 python 对象列表中?
我的尝试:我将文件转换为 ProtoBuf(又名 Google 的 Protocol Buffers),但即使我得到的文件非常小(减少到原始大小的约 20%),加载它们的时间并没有显着改善(加载它们仍然超过 20 分钟)。
【问题讨论】:
-
试试
MessagePack(msgpack-python)。使用通用数据结构不会比这更快。当然,您始终可以定制您的格式以适合您的数据以挤出最后一盎司的性能,但那时我会首先重新考虑我的策略。
标签: python json performance decode file-format