On 10/24/07, mabshoff <[EMAIL PROTECTED]> wrote: > > > On my 2x3.0GHz Quad Xeon Mac, I got the following: > > > > > Without the above, the build took ~71 minutes. > > > > > With the above, both for "-j6" and "-j4", the build took ~54 minutes. > > > > I think we should look into parallel builds via SCons for the > sage.spkg, because that one eats quite a lot of time.
It would be very nice if sage-*.spkg, i.e., "sage -ba" could be done in parallel. The build is *entirely managed* by Python's distutils. Thus instead of thinking about SCons, you need to ask whether Python distutils or some drop-in-replacement for it allows for parallel builds. Incidentally, I think it is potentially starting to be a serious problem that so much code gets moved from .py to .pyx. Maybe sometimes this is done when it isn't really necessary, just to get a couple of functions to be pyx'd. > > If you want to experiment with having Sage actually build multiple > > packages at the same time, which could vastly speed things up > > since even the ./configure's will run in parallel, you can try the > > following. > > > > WARNING: I've tried this once a while ago and it did *not* work > > for me, and I didn't have time to debug all the problems, so it > > isn't supported -- you will have to fix things. That's why I've cc'd > > this message to sage-devel. > > > > > > 0. Start with a fresh Sage tarball. > > > > 1. Open the file SAGE_ROOT/spkg/install > > > > 2. Find the line > > time make -f standard/deps $1 > > and change it to > > time make -j 4 -f standard/deps $1 > > > > 3. cd to SAGE_ROOT and type "make". > > > > Watch lots of things happen at once, then something eventually > > go wrong, probably because of subtle dependencies that are > > appropriately described in SAGE_ROOT/standard/deps. I think theory, > > by modifying the makefile in SAGE_ROOT/standard/deps appropriately, > > one could make the above work. This would be very useful to a lot > > of people, actually, since it would speed up building sage on smp machines. > > > > I think the deps aren't complete, so that a single make process works, > but once you do a "-j4" things go wrong. We might want to be less > ambitious and start with "-j2". Sure. It would be very good to fix things so the deps are complete though. I mean, I *think* they are complete, and no of no case where they aren't, but evidently they aren't if the above make doesn't work. william --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---