2011/5/18 Victor Stinner <victor.stin...@haypocalc.com>: > Hi, > > ''.join(c for c in 'abc') and ''.join([c for c in 'abc']) do create a > temporary c variable. In this case, the variable is useless and requires > two opcodes: STORE_FAST(c), LOAD_FAST(c). The variable is not available > outside the list comprehension/generator. > > I would like to remove the variable in these cases to speed up > (micro-optimize!) Python. > > Remove the variable breaks code using introspection like: > > list([locals()['x'] for x in range(3)]) > > We may detect the usage of introspection (I don't know how hard it is), > only optimize trivial cases (like "x for x in ..."), or only optmize > with Python is running in optimize mode (python -O or python -OO). > > What do you think? Is it useless and/or stupid?
Far more useful would be figuring out how to remove the call. -- Regards, Benjamin _______________________________________________ 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