Increase the granularity of GIL in python, allowing python threads to run concurrently in certain scenarios.
It is unclear if this work will improve multithreaded python performance: The additional mutex locking will adversely affect performance, possibly to an extent that concurrent threading does not compensate.
We take two approaches, represented on two branches: # granular: individual locks around global structures shared across threads (reference counts, etc), rather than holding a single lock over the entire interpreter. This is similar to Greg Stein's original work. # localize: attempts to reduce the amount of granular locking by moving some global structures (free lists, etc.) into the thread state.
These details are provided for information only. No information here is legal advice and should not be used as such.