在进行性能分析时,“内置方法解码”在Python中意味着什么?

时间:2009-08-21 05:22:32

标签: python string optimization performance pickle

我正在尝试让我的程序更快,所以我正在分析它。现在最重要的原因是:

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

究竟是什么?我从不在代码中的任何地方调用'decode'。它读取文本文件,但我不相信它们是unicode编码的。

4 个答案:

答案 0 :(得分:2)

最有可能的是,这是decode method of string objects

答案 1 :(得分:1)

据推测,这是str.decode ...搜索你的“解码”来源。如果它不在您的代码中,请查看显示在配置文件结果中的Python库例程。与cPickle无关。注意向我们展示一些“原因”,最好是列标题,以便让我们更广泛地了解您的问题?

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

你把X和Y留下了“有没有什么可以比资源Y更快地完成任务X?” ... 更新,所以你问的是cPickle。您对cPickle.dump()和/或cPickle.dumps()的(可选)协议arg使用了什么?

答案 2 :(得分:1)

(回答@Claudiu的最新问题,奇怪地隐藏在一个结束语......?! - )......为了真正加快酸洗,试试unladen swallow - 它的大部分雄心勃勃的目标仍未到来,但是它已经提供至少20-25%的酸洗和去除油的加速。

答案 3 :(得分:0)

我相信只要您将unicode字符串转换为ascii字符串,就会调用decode。我猜你有大量的unicode数据。我不确定pickle的内部是如何工作的,但听起来像unicode数据在腌制时被转换为ascii?