Python 中剖析时“内置方法 decode”是什么意思?
我正在努力让我的程序运行得更快,所以我在对它进行性能分析。目前最大的瓶颈是:
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
很可能这是字符串对象的 解码方法。