/ / Różnica na obciążenie wielowątkowością między pythonami 2.x i 3.x - python, python-2.7, python-3.x, python-3.3, python-2.x

Różnica na obciążenie wielowątkowością między pythoniem 2.x i 3.x - python, python-2.7, python-3.x, python-3.3, python-2.x

Napisałem niestandardowy kod, który używa blokad i zmiennych warunkowych, obserwuję znaczną różnicę w narzucie synchronizacji między Python 2.x i 3.x:

  • 2.6.8, 2.7.6: 14 ~ 54ms
  • 3.3.4: <1ms

Czy istnieje ku temu powód? Znane wyjaśnienie? Błąd CPython rozwiązany tylko w 3.x?

Jeśli ktoś zna odpowiedź z góry, jest bardzo mile widziany.

W przeciwnym razie zostaw komentarz i zhakuję jakiś kod testowy.

Odpowiedzi:

1 dla odpowiedzi № 1

Zrobili dużo pracy w 3.2, aby poprawić wydajność wielowątkowości i jak GIL Funkcje:

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

Nie wiedząc nic więcej na temat twojego kodu, to byłby mój domysł.