A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2009-April/088397.html below:

[Python-Dev] pyc files, constant folding and borderline portability issues

[Python-Dev] pyc files, constant folding and borderline portability issuesPaul Moore p.f.moore at gmail.com
Tue Apr 7 12:33:39 CEST 2009
2009/4/7 Cesare Di Mauro <cesare.dimauro at a-tono.com>:
> The principle that I followed on doing constant folding was: "do what Python
> will do without constant folding enabled".
>
> So if Python will generate
>
> LOAD_CONST      1
> LOAD_CONST      2
> BINARY_ADD
>
> the constant folding code will simply replace them with a single
>
> LOAD_CONST      3
>
> When working with such kind of optimizations, the temptation is to
> apply them at any situation possible. For example, in other languages
> this
>
> a = b * 2 * 3
>
> will be replaced by
>
> a = b * 6
>
> In Python I can't do that, because b can be an object which overloaded
> the * operator, so it *must* be called two times, one for 2 and one for 3.
>
> That's the way I choose to implement constant folding.

That sounds sufficiently "super risk-averse" to me, so I'm in favour
of constant folding being implemented with this attitude :-)

Paul.
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4