generator expressions: performance anomaly?
Steve Holden
steve at holdenweb.com
Wed Jan 19 08:58:10 EST 2005
Paul Rubin wrote:
> Steve Holden <steve at holdenweb.com> writes:
>
>>You probably already know that sensible compiled language systems have
>>used constant folding since time immemorial, but Python has always
>>eschewed it. That's what comes of being a pragmatist's language: if
>>such optimizations really are required the programmer is expected to
>>perform them.
>
>
> You mean the lack is deliberate? I just figured it was an artifact of
> the implementation and that PyPy had some reasonable chance of fixing it.
No, it's not been deliberately omitted, it's just not a development
priority. Pragmatic Python programmers are prepared to do the folding
themselves in the (exceptionally rare) cases where it has a significant
effect on performance.
PyPy may or may not fix it. And, of course, a dynamic language has
rather less ability to take advantage of more advanced optimizations
since it's much harder to guarantee functional behavior for any given
subexpression. Once side effects rear their ugly heads all bets are off.
regards
Steve
--
Steve Holden http://www.holdenweb.com/
Python Web Programming http://pydish.holdenweb.com/
Holden Web LLC +1 703 861 4237 +1 800 494 3119
More information about the Python-list
mailing list