In article <[EMAIL PROTECTED]>,
 Hrvoje Niksic <[EMAIL PROTECTED]> wrote:

> "Diez B. Roggisch" <[EMAIL PROTECTED]> writes:
> 
> >> Eg:
> >> a = 1 + 2
> >> .vs.
> >> a = 3
> >> which one is more effective? Does the compiler calculate the result at
> >> compile time? How about constant spreading?
> >
> > Algebraic optimizations aren't done AFAIK
> 
> Just try it:
> 
> Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32) 
> [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> dis.dis(lambda: 10+5)
>   1           0 LOAD_CONST               2 (15)
>               3 RETURN_VALUE        

Not always. On a Mac running Python 2.4, here's what I get:

In [3]: dis.dis(lambda: 3+4)
  1           0 LOAD_CONST               1 (3)
              3 LOAD_CONST               2 (4)
              6 BINARY_ADD          
              7 RETURN_VALUE

-- 
-- Lou Pecora
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to