gpt4 book ai didi

python - 读取 pickle 在 Python 3.6 中的性能比在 Python 2.7 中更差

转载 作者:太空狗 更新时间:2023-10-30 02:53:10 24 4
gpt4 key购买 nike

我注意到我的代码的 pickle 读取部分在 Python 3.6 中的执行速度比在 Python 2.7 中慢。这不是一个真正的问题,但我很好奇是什么原因造成的/如果对这种差异有任何解释。我在两个版本中都使用了以下脚本来说明差异。在这里,导入了一个 pickle ,然后将其保存为包含 14804726 行和 10 列的数据框:

import pandas as pd
import time

timestart=time.time()
picklefile=r'C:\Users\Me\rawdata.pkl'
rawdata = pd.read_pickle(picklefile)

print(time.time()-timestart)

它给出了以下时间输出:

>>>Output 2.7.14: 14.9129998684
>>>Output 3.6.4: 60.39831018447876

最佳答案

当您在 Python 3 中读取 Python 2 pickle 时,它​​必须对字符串执行转换

在 Python 2 中,字符串表示为简单的字节流;在 Python 3 中,使用 unicode 表示法,它能够表示范围更广的字符。当您在 Python 3 中加载 Python 2 pickle 时,它​​必须将一种格式转换为另一种格式。

这很可能会减慢您的加载速度。

另请注意,默认执行的转换可能不适合您的使用,您可能希望向负载添加其他参数以确保应用正确的编码。

关于python - 读取 pickle 在 Python 3.6 中的性能比在 Python 2.7 中更差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50600380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com