0

我试图让我的程序更快,所以我正在分析它。目前最主要的原因是:

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

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

4

4 回答 4

2

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

于 2009-08-21T05:29:40.423 回答
1

大概这是 str.decode ...在您的来源中搜索“解码”。如果它不在您的代码中,请查看显示在配置文件结果中的 Python 库例程。极不可能与 cPickle 有任何关系。愿意向我们展示更多“原因”,最好是列标题,让我们更广泛地了解您的问题?

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

您将 X 和 Y 排除在“有什么东西可以比资源 Y 更快地完成任务 X 吗?” ...更新所以你问的是cPickle。您在 cPickle.dump() 和/或 cPickle.dumps() 的(可选)协议 arg 中使用什么?

于 2009-08-21T05:34:20.883 回答
1

(回答@Claudiu 的最新问题,奇怪地隐藏在评论中......?!-)......为了真正加快腌制,尝试空腹燕子- 它的大部分雄心勃勃的目标仍然存在,但它至少已经给出了酸洗和解酸的速度提高 20-25%。

于 2009-08-21T06:15:47.400 回答
0

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

于 2009-08-21T05:40:02.150 回答