我目前正在通过芹菜来处理要传递给任务的python datetime,并且遇到了内存问题。我希望找到一种方法来确定酸洗datetime对象的结果大小,这样我就可以将其与酸洗unix时间戳进行比较。我意识到时间戳会更小,但我特别想比较两个酸洗对象的大小。
发布于 2014-09-04 05:04:30
pickled对象只是一个字节数组(想想ASCII编码的字符串)。因此,使用dumps获取字节并查看长度。在我的机器上,一个酸洗过的datetime是44个字节。这包括一些开销,例如,它将包括指示pickle协议版本的头部。
import datetime
import pickle
dt = datetime.datetime.now()
size = len(pickle.dumps(dt))
print(size, 'bytes')此外,如果使用更高的协议,则生成的酸洗对象应该更小。在dump中尝试使用protocol=pickle.HIGHEST_PROTOCOL。
https://stackoverflow.com/questions/25653440
复制相似问题