[Python-Dev] Should standard library modules optimize for CPython? (original) (raw)
Stefan Behnel stefan_ml at behnel.de
Wed Jun 4 21:14:54 CEST 2014
- Previous message: [Python-Dev] Should standard library modules optimize for CPython?
- Next message: [Python-Dev] Should standard library modules optimize for CPython?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Sturla Molden, 03.06.2014 22:51:
Stefan Behnel wrote:
So the argument in favour is mostly a pragmatic one. If you can have 2-5x faster code essentially for free, why not just go for it? I would be easier if the GIL or Cython's use of it was redesigned. Cython just grabs the GIL and holds on to it until it is manually released. The standard lib cannot have packages that holds the GIL forever, as a Cython compiled module would do. Cython has to start sharing access the GIL like the interpreter does.
Granted. This shouldn't be all that difficult to add as a special case when compiling .py (not .pyx) files. Properly tuning it (i.e. avoiding to inject the GIL release-acquire cycle in the wrong spots) may take a while, but that can be improved over time.
(It's not required in .pyx files because users should rather explicitly write "with nogil: pass" there to manually enable thread switches in safe and desirable places.)
Stefan
- Previous message: [Python-Dev] Should standard library modules optimize for CPython?
- Next message: [Python-Dev] Should standard library modules optimize for CPython?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]