我编写了一些使用锁和条件变量的自定义代码,观察到Python 2.x和3.x之间的同步开销存在显着差异:


2.6.8,2.7.6:14〜54ms
3.3.4:

是否有一个原因?一个著名的解释?仅在3.x中解决的CPython错误?

如果有人从头顶上知道答案,那将是非常受欢迎的。

否则请发表评论,我将介绍一些测试代码。

最佳答案

他们在3.2中做了很多工作,以提高多线程性能以及GIL的功能:

http://docs.python.org/dev/whatsnew/3.2.html#multi-threading

在不了解您的代码的情况下,这就是我的猜测。

关于python - python 2.x和3.x之间的多线程开销差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21937622/

10-11 16:02