我试图让我的程序更快,所以我正在分析它。目前最主要的原因是:
566 1.780 0.003 1.780 0.003 (built-in method decode)
这究竟是什么?我从不在代码中的任何地方调用“解码”。它读取文本文件,但我不相信它们是 unicode 编码的。
我试图让我的程序更快,所以我正在分析它。目前最主要的原因是:
566 1.780 0.003 1.780 0.003 (built-in method decode)
这究竟是什么?我从不在代码中的任何地方调用“解码”。它读取文本文件,但我不相信它们是 unicode 编码的。
很可能,这是字符串对象的解码方法。
大概这是 str.decode ...在您的来源中搜索“解码”。如果它不在您的代码中,请查看显示在配置文件结果中的 Python 库例程。极不可能与 cPickle 有任何关系。愿意向我们展示更多“原因”,最好是列标题,让我们更广泛地了解您的问题?
你能解释一下“使用 cPickle”和“一些测试用例会运行得更快”之间的联系吗?
您将 X 和 Y 排除在“有什么东西可以比资源 Y 更快地完成任务 X 吗?” ...更新所以你问的是cPickle。您在 cPickle.dump() 和/或 cPickle.dumps() 的(可选)协议 arg 中使用什么?
(回答@Claudiu 的最新问题,奇怪地隐藏在评论中......?!-)......为了真正加快腌制,尝试空腹燕子- 它的大部分雄心勃勃的目标仍然存在,但它至少已经给出了酸洗和解酸的速度提高 20-25%。
我相信decode
每当您将 unicode 字符串转换为 ascii 字符串时都会调用它。我猜你有大量的unicode数据。我不确定pickle的内部是如何工作的,但听起来unicode数据在pickle时会转换为ascii?