Re: PEP 489: Multi-phase extension module initialization; version 5
Antoine Pitrou <[email protected]> Mon, 18 May 2015 18:57:13 +0200
| Newsgroups | gmane.comp.python.import |
|---|---|
| Message-ID | <20150518185713.0c07a4c8@fsol> |
On Mon, 18 May 2015 18:27:50 +0200 Petr Viktorin <[email protected]> wrote: > On Mon, May 18, 2015 at 5:58 PM, Antoine Pitrou <[email protected]> wrote: > > On Mon, 18 May 2015 17:32:13 +0200 > > Petr Viktorin <[email protected]> wrote: > >> > >> > A fast, easy way to access module "state" without defining global > >> > variables at the C level is required. > >> > >> You can have a custom subclass, or you can use per-module state, or > >> put a capsule in the module dict. > > > > The latter two are cumbersome and inefficient. Only custom subclasses > > can make things easy and fast at the C level. > > With per-module state, you need a one-liner macro, and a pointer > dereference at runtime. Is that too cumbersome and inefficient, or am > I missing something? The main problem is the PyState_FindModule() function. It's not terribly efficient, and most of all you have to check its return value for NULL. Regards Antoine.