Message289955
Kristjan wrote improved locking primitives in #15038 that use the new (in Vista) SRWLock and Condition Variable APIs. SRWLocks (used in exclusive mode only) replace Critical Sections, which is slower than SRWLock and provides no features we use that might justify it. Condition Variables replace Semaphores, where the former is user mode (cheap) and the latter kernel mode (expensive).
These changes remain disabled by default.
Given that CPython dropped support for pre-Vista OSes in 3.5, I propose enabling the faster locking primitives by default. The PR I'll submit leaves the condition variable emulation code in the source so it's available to people who might try to build XP/WS03 compatible code, it just tweaks the define so it defaults to using the Vista+ APIs.
Based on the numbers from #15038, we should expect to see a significant improvement in speed. |
|
Date |
User |
Action |
Args |
2017-03-22 01:33:16 | josh.r | set | recipients:
+ josh.r, paul.moore, kristjan.jonsson, tim.golden, zach.ware, steve.dower |
2017-03-22 01:33:16 | josh.r | set | messageid: <1490146396.76.0.76409234296.issue29871@psf.upfronthosting.co.za> |
2017-03-22 01:33:16 | josh.r | link | issue29871 messages |
2017-03-22 01:33:15 | josh.r | create | |
|