[Python-Dev] PEP 550 v4
Greg Ewing
greg.ewing at canterbury.ac.nz
Thu Sep 7 03:54:15 EDT 2017
Yury Selivanov wrote:
> def foo():
> var = ContextVar()
> var.set(1)
>
> for _ in range(10**6): foo()
>
> If 'var' is strongly referenced, we would have a bunch of them.
Erk. This is not how I envisaged context vars would be
used. What I thought you would do is this:
my_context_var = ContextVar()
def foo():
my_context_var.set(1)
This problem would also not arise if context vars
simply had names instead of being magic key objects:
def foo():
contextvars.set("mymodule.myvar", 1)
That's another thing I think would be an improvement,
but it's orthogonal to what we're talking about here
and would be best discussed separately.
--
Greg
More information about the Python-Dev
mailing list