Right, think of the "ctxt" as a "this" pointer from c++. If you have an allocator object, that you got from some c++ api, and want to ask Python to use that, you need to be able to thunk the "this" pointer to get at the particular allocator instance. It used to be a common mistake when writing C callback apis to forget to add an opaque "context" pointer along with the callback function. This omission makes it difficult (but not impossible) to attach c++ methods to such callbacks.
K > -----Original Message----- > From: Python-Dev [mailto:python-dev- > bounces+kristjan=ccpgames....@python.org] On Behalf Of Scott Dial > Sent: 19. júní 2013 04:34 > To: ncogh...@gmail.com > Cc: Python-Dev@python.org > Subject: Re: [Python-Dev] RFC: PEP 445: Add new APIs to customize Python > memory allocators > > On 6/18/2013 11:32 PM, Nick Coghlan wrote: > > Agreed more of that rationale needs to be moved from the issue tracker > > into the PEP, though. > > Thanks for the clarification. I hadn't read the issue tracker at all. On it's > face > value, I didn't see what purpose it served, but having read Kristján's > comments on the issue tracker, he would like to store state for the allocators > in that ctx pointer.[1] Having read that (previously, I thought the only > utility > was distinguishing which domain it was -- a small, glorified enumeration), but > his use-case makes sense and definitely is informative to have in the PEP, > because the utility of that wasn't obvious to me. > > Thanks, > -Scott > > [1] http://bugs.python.org/issue3329#msg190529 > """ > One particular trick we have been using, which might be of interest, is to be > able to tag each allocation with a "context" id. This is then set according > to a > global sys.memcontext variable, which the program will modify according to > what it is doing. This can then be used to track memory usage by different > parts of the program. > """ > > -- > Scott Dial > sc...@scottdial.com > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python- > dev/kristjan%40ccpgames.com _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com