Napísal som nejaký vlastný kód, ktorý používa zámky a podmienkové premenné, pozorujem významný rozdiel v režime synchronizácie medzi Pythonom 2.x a 3.x:
- 2.6.8, 2.7.6: 14 ~ 54ms
- 3.3.4: <1 ms
Existuje dôvod na to? Dobre známe vysvetlenie? Chyba CPython bola vyriešená iba v 3.x?
Ak niekto pozná odpoveď z hlavy, je to vítané.
V opačnom prípade zanechajte komentár a zaseknem nejaký testovací kód.
odpovede:
1 pre odpoveď č. 1Vykonali veľa práce v 3.2 pre zlepšenie multithreading výkon a ako GIL funkcie:
http://docs.python.org/dev/whatsnew/3.2.html#multi-threading
Bez toho, aby ste vedeli o vašom kóde ešte niečo iné, to by bolo moje hádanie.