[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Bill Hart

Could you be more specific about what you think these guys don't
understand?

To a non-python expert type there isn't much difference between the
article and the wiki information.

I was very impressed at the goals as spelled out on the wiki and they
seem to have a decent roadmap up.

Is it the goals themselves which you feel are bollucks or do you think
they don't understand the technical workings of python? Perhaps, as a
non-expert, I won't understand, but I am interested to hear, if you
have the time to explain.

Bill.

On 27 Mar, 05:32, Craig Citro craigci...@gmail.com wrote:
  I read the article with excitement, but unfortunately that article is
  total BS -- it's reporting at its worst, and then some.  The actual
  project that article is about

   http://code.google.com/p/unladen-swallow/wiki/ProjectPlan

  seems to be massively misrepresented by the arstechnica aricle.   As
  far as I can tell this is in no way some official Google project as
  the article claims, and there's not much on that wiki that gives me
  confidence the project members know what they are doing.

 I definitely didn't abhor the article as much as William, but clearly
 the writer was confused about a few things. However, it looks like the
 Unladen Swallow folks are doing something I commend -- trying to get
 pieces of their branch merged into mainline CPython a little bit at a
 time. Here's a post by the head of the project:

 http://mail.python.org/pipermail/python-dev/2009-March/087737.html

 (where he immediately clarifies the bit about google-sponsored), which
 is part of the following thread on python-dev:

 http://mail.python.org/pipermail/python-dev/2009-March/087728.html

 It seems like some of the Python folks are already stepping up to
 review some of the code, which means we'll probably get some
 first-hand opinions soon on whether or not they know what they're
 doing.

 -cc
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Craig Citro

 Could you be more specific about what you think these guys don't
 understand?


Were you asking me or William?

My impression from reading through the wiki is that these guys *do*
know what they're doing, contrary to what William seemed to think,
though I suspect neither of us has actually read any code -- so
probably both opinions should be taken with a big grain of salt. I was
pointing out the code submission and review from the Python community,
because that will be the real test ...

-cc

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread William Stein

(In reference to
http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars)

On Fri, Mar 27, 2009 at 11:37 AM, Bill Hart goodwillh...@googlemail.com wrote:

 Could you be more specific about what you think these guys don't
 understand?

 To a non-python expert type there isn't much difference between the
 article and the wiki information.

 I was very impressed at the goals as spelled out on the wiki and they
 seem to have a decent roadmap up.

 Is it the goals themselves which you feel are bollucks or do you think
 they don't understand the technical workings of python? Perhaps, as a
 non-expert, I won't understand, but I am interested to hear, if you
 have the time to explain.

All I wrote before was there's not much on that wiki that gives me
confidence the project members know what they are doing.  I mean that
literally, i.e., that there wasn't anything that gives me confidence
that they know what they're doing.   I didn't mean to say I think
they don't know what they are doing, since I don't know if they do or
not.

Why should a a few guys who read some papers be able to massively beat
(a factor of 5!?) the work of the entire Python development community
over 15 years? I certainly didn't see anything to convince me that
they can pull that off.   I'm certainly not saying they won't or
can't.  In fact, I really hope they do since it would benefit us all.
It's just that with Python every few months it seems like another
project pops up with the goal to speed up Python by a factor of 5-10,
and they fall by the wayside after a few years... except Cython, which
actually succeeds.

  -- William


-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Joel B. Mohler

On Friday 27 March 2009 02:37:44 pm Bill Hart wrote:
 Could you be more specific about what you think these guys don't
 understand?

Not to answer your question.  I'm curious about William's reasoning as well.

However, I think they don't give a lot of evidence about why they believe 
their radically rewritten python could be a 5x speed improvement.  To my 
eye's that's a huge claim to make for the amount of code they seem to have.  
I don't really see much justification for the claim.

I've looked at LLVM and I think it's a pretty exciting project so their use of 
that gives them some credibility to me.

Time will tell, but python seems pretty fast to me as long as you don't call 
functions and don't do tons of things you'd never do in C (e.g. wild amounts 
of list slices).  We expect function calls to be slow in a dynamic language 
like python, so I don't mean that to be derogatory.

--
Joel


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Bill Hart

Not to press the point, but isn't:

Our long-term proposal is to replace CPython's custom virtual machine
with a JIT built on top of LLVM, while leaving the rest of the Python
runtime relatively intact.

the explanation of how they propose to get some speed out of it. In
other words they are using a technologically superior method of
interpreter operation. I'm interested to know if you have an opinion
on that.

As for many projects springing up which aim to do this, presumably
they give up because of the massive number of hours involved, rather
than it being impossible.

I think of the recent speedup in the boot time of Ubuntu linux and the
speedup of the Pari interpreter as examples of open source projects
which have recently had massive speedups due to technological
improvements.

Bill.

On 27 Mar, 21:13, Joel B. Mohler j...@kiwistrawberry.us wrote:
 On Friday 27 March 2009 02:37:44 pm Bill Hart wrote:

  Could you be more specific about what you think these guys don't
  understand?

 Not to answer your question.  I'm curious about William's reasoning as well.

 However, I think they don't give a lot of evidence about why they believe
 their radically rewritten python could be a 5x speed improvement.  To my
 eye's that's a huge claim to make for the amount of code they seem to have.  
 I don't really see much justification for the claim.

 I've looked at LLVM and I think it's a pretty exciting project so their use of
 that gives them some credibility to me.

 Time will tell, but python seems pretty fast to me as long as you don't call
 functions and don't do tons of things you'd never do in C (e.g. wild amounts
 of list slices).  We expect function calls to be slow in a dynamic language
 like python, so I don't mean that to be derogatory.

 --
 Joel
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Carl Witty

On Fri, Mar 27, 2009 at 4:35 PM, Bill Hart goodwillh...@googlemail.com wrote:

 Not to press the point, but isn't:

 Our long-term proposal is to replace CPython's custom virtual machine
 with a JIT built on top of LLVM, while leaving the rest of the Python
 runtime relatively intact.

 the explanation of how they propose to get some speed out of it. In
 other words they are using a technologically superior method of
 interpreter operation. I'm interested to know if you have an opinion
 on that.

Well, just reading that paragraph isn't enough... replacing ceval.c
with an LLVM-based JIT in a straightforward way should be more-or-less
equivalent to Cython's performance on pure-Python code (that is, the
speedup is much less than 2x).

You really need type information to do much better; fortunately, they
do plan to use type information (either using type annotations, or by
guessing that the types will likely be the same every time the code is
executed).

I'm pretty sure that Javascript implementations have speed up by more
than 5x in the last year; IMHO similar speedups should be possible for
Python.  (Whether this is possible while remaining 100% compatible
with current Python source and extension modules is another question.)

Carl

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-27 Thread Bill Hart

Thanks, that does answer my questions.

I'm not an expert, but I did find the possibility of speeding up
python this much was an interesting one.

Let's hope they'll succeed, though I guess it may take them years. I
hope they are in it for the long run.

Bill.

On 28 Mar, 01:45, Carl Witty carl.wi...@gmail.com wrote:
 On Fri, Mar 27, 2009 at 4:35 PM, Bill Hart goodwillh...@googlemail.com 
 wrote:

  Not to press the point, but isn't:

  Our long-term proposal is to replace CPython's custom virtual machine
  with a JIT built on top of LLVM, while leaving the rest of the Python
  runtime relatively intact.

  the explanation of how they propose to get some speed out of it. In
  other words they are using a technologically superior method of
  interpreter operation. I'm interested to know if you have an opinion
  on that.

 Well, just reading that paragraph isn't enough... replacing ceval.c
 with an LLVM-based JIT in a straightforward way should be more-or-less
 equivalent to Cython's performance on pure-Python code (that is, the
 speedup is much less than 2x).

 You really need type information to do much better; fortunately, they
 do plan to use type information (either using type annotations, or by
 guessing that the types will likely be the same every time the code is
 executed).

 I'm pretty sure that Javascript implementations have speed up by more
 than 5x in the last year; IMHO similar speedups should be possible for
 Python.  (Whether this is possible while remaining 100% compatible
 with current Python source and extension modules is another question.)

 Carl
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-26 Thread William Stein

On Thu, Mar 26, 2009 at 6:25 PM, Daryl Hammond dhamm...@aol.com wrote:

 I found this article on Python performance improvement interesting:

 http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars

 Google's goal appears to be a 5x performance improvement in Python.


I read the article with excitement, but unfortunately that article is
total BS -- it's reporting at its worst, and then some.  The actual
project that article is about

   http://code.google.com/p/unladen-swallow/wiki/ProjectPlan

seems to be massively misrepresented by the arstechnica aricle.   As
far as I can tell this is in no way some official Google project as
the article claims, and there's not much on that wiki that gives me
confidence the project members know what they are doing.

Anyway, this kind of reminds me of this (failed?) but massive project:

http://codespeak.net/pypy/dist/pypy/doc/

or this one:

http://psyco.sourceforge.net/

 -- William

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Python Performance Improvement

2009-03-26 Thread Craig Citro

 I read the article with excitement, but unfortunately that article is
 total BS -- it's reporting at its worst, and then some.  The actual
 project that article is about

   http://code.google.com/p/unladen-swallow/wiki/ProjectPlan

 seems to be massively misrepresented by the arstechnica aricle.   As
 far as I can tell this is in no way some official Google project as
 the article claims, and there's not much on that wiki that gives me
 confidence the project members know what they are doing.


I definitely didn't abhor the article as much as William, but clearly
the writer was confused about a few things. However, it looks like the
Unladen Swallow folks are doing something I commend -- trying to get
pieces of their branch merged into mainline CPython a little bit at a
time. Here's a post by the head of the project:

http://mail.python.org/pipermail/python-dev/2009-March/087737.html

(where he immediately clarifies the bit about google-sponsored), which
is part of the following thread on python-dev:

http://mail.python.org/pipermail/python-dev/2009-March/087728.html

It seems like some of the Python folks are already stepping up to
review some of the code, which means we'll probably get some
first-hand opinions soon on whether or not they know what they're
doing.

-cc

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---