New submission from Dan Snider <mr.assume.a...@gmail.com>:
>>> import dis >>> @dis.dis ... def funcdef(k): return k in {None} ... 2 0 LOAD_FAST 0 (k) 2 LOAD_CONST 1 (frozenset({None})) 4 COMPARE_OP 6 (in) 6 RETURN_VALUE >>> regass = lambda k: k in {None} >>> dis.dis(regass) 1 0 LOAD_FAST 0 (k) 2 LOAD_CONST 1 (frozenset({None})) 4 COMPARE_OP 6 (in) 6 RETURN_VALUE >>> dis.dis(walrus:=lambda k: k in {None}) 1 0 LOAD_FAST 0 (k) 2 LOAD_CONST 0 (None) 4 BUILD_SET 1 6 COMPARE_OP 6 (in) 8 RETURN_VALUE As the third example demonstrates, the code for the anonymous function assigned to walrus by an assignment expression isn't receiving the relatively recent frozenset optimization. ---------- messages: 392015 nosy: bup priority: normal severity: normal status: open title: lambdas stored with assignment expressions are unoptimized type: performance versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43947> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com