[Python-Dev] Tweak to PEP 523 for storing a tuple in co_extra (original) (raw)
Chris Angelico rosuav at gmail.com
Sat Sep 3 19:13:05 EDT 2016
- Previous message (by thread): [Python-Dev] Tweak to PEP 523 for storing a tuple in co_extra
- Next message (by thread): [Python-Dev] Tweak to PEP 523 for storing a tuple in co_extra
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Sep 4, 2016 at 8:03 AM, Yury Selivanov <yselivanov.ml at gmail.com> wrote:
On 2016-09-03 12:27 PM, Brett Cannon wrote:
Below is the
coextra
section of PEP 523 with the update saying that users are expected to put a tuple in the field for easier simultaneous use of the field. Since thecoextra
discussions do not affect CPython itself I'm planning on landing the changes stemming from the PEP probably on Monday. Tuples are immutable. If you have multiple coextra users then they will have to either mutate tuple (which isn't always possible, for instance, you can't increase size), or to replace it with another tuple.
Replace it, but only as they register themselves with a particular function. Imagine a profiler doing something vaguely like this:
class FunctionStats: def init(self): self.info = [whatever, whatever, blah blah]
def profile(func): """Decorator to mark a function for profiling""" func.code.co_extra += (FunctionStats(),) return func
Tuple immutability impacts the initialization only. After that, you just iterate over it.
ChrisA
- Previous message (by thread): [Python-Dev] Tweak to PEP 523 for storing a tuple in co_extra
- Next message (by thread): [Python-Dev] Tweak to PEP 523 for storing a tuple in co_extra
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]