7 Sep
2017
7 Sep
'17
7:54 a.m.
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