On 23.04.2018 17:59, Steve Holden wrote:
    ">

(original) (raw)

What facilities does the interpreter currently have for extracting common subexpressions, and how would it verify in such a dynamic environment that such extractions wouldn't alter the semantics of the program? Explicit (assignment using :=) is better than implicit (by optimizations hidden to the programmer).

regards
Steve

Steve Holden

On Mon, Apr 23, 2018 at 6:13 PM, Sven R. Kunze <srkunze@mail.de> wrote:
On 23.04.2018 17:59, Steve Holden wrote:

While Tim's expression might look (superficially) like C, the five-line alternative isn't exactly an inspiring example of Pythonicity, is it?


What about

diff = x - x\_base  
if diff and gcd(diff, n) > 1:  
 return gcd(diff, n)

# or


if (x - x_base) and gcd(x - x_base, n) > 1:
return gcd(x - x_base, n)


and have the interpreter handle the optimization, or apply an
lru_cache? ;-)



Cheers,

Sven


_______________________________________________

Python-Dev mailing list

Python-Dev@python.org

https://mail.python.org/mailman/listinfo/python-dev

Unsubscribe: https://mail.python.org/mailman/options/python-dev/steve%40holdenweb.com