Python 中剖析时“内置方法 decode”是什么意思?

0 投票
4 回答
3898 浏览
提问于 2025-04-15 13:46

我正在努力让我的程序运行得更快,所以我在对它进行性能分析。目前最大的瓶颈是:

566    1.780    0.003    1.780    0.003 (built-in method decode)

这到底是什么呢?我在代码中从来没有调用过'decode'这个东西。它读取文本文件,但我不认为这些文件是用unicode编码的。

4 个回答

1

大概这是在说 str.decode ... 你可以在你的代码里搜索一下 "decode"。如果在你的代码里找不到,那就看看 Python 库里那些在性能分析结果中出现的函数。跟 cPickle 没什么关系的可能性很大。能不能给我们多提供一些“原因”,最好带上列标题,这样我们能更全面地了解你的问题?

你能解释一下“使用 cPickle”和“某些测试用例会跑得更快”之间的关系吗?

你在“有没有什么能比资源 Y 更快地完成任务 X?”这个问题里漏掉了 X 和 Y ... 更新,所以你是在问 cPickle。你在使用 cPickle.dump() 和/或 cPickle.dumps() 的时候,协议参数(可选的)用的是什么?

1

(回答@Claudiu最近的问题,这个问题奇怪地藏在评论里...?!)为了真正加快数据序列化的速度,可以试试unladen swallow这个工具——虽然它的很多目标还没有实现,但现在已经能让数据序列化和反序列化的速度提升至少20-25%。

2

很可能这是字符串对象的 解码方法

撰写回答