[Python-Dev] Don't set local variable in a list comprehension or generator (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Thu May 19 11:03:10 CEST 2011
- Previous message: [Python-Dev] Don't set local variable in a list comprehension or generator
- Next message: [Python-Dev] Don't set local variable in a list comprehension or generator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, May 19, 2011 at 7:34 AM, Victor Stinner <victor.stinner at haypocalc.com> wrote:
But it is slower whereas I read somewhere than generators are faster than loops.
Are you sure it wasn't that generator expressions can be faster than list comprehensions (if the memory savings are significant)?
Or that a reduction function with a generator expression can be faster than a module-level explicit loop (due to the replacement of dict-based variable assignment with fast locals in the generator and C looping in the reduction function)?
In general, as long as both are using fast locals and looping in Python, I would expect inline looping code to be faster than the equivalent generator (but often harder to maintain due to lack of reusability).
Cheers, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] Don't set local variable in a list comprehension or generator
- Next message: [Python-Dev] Don't set local variable in a list comprehension or generator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]