On Thu, Feb 4, 2010 at 6:17 AM, Stefan Behnel <[email protected]> wrote:
> I actually really meant "partial". During development, bounded changes will > only trigger a limited subset of rebuilds, so an edit-compile-run cycle > will not suffer that much from small Cython modules being larger than > strictly required. I think a large part of the issue is that partial builds are totally unreliable with distutils. Numscons and source splitting (to make partial builds as small as possible) really changed the way I work on Numpy C code, because it changed from waiting ~ 1 minute to do testing to a few seconds. With distutils, there are so many cases where partial builds cause weird issues that I have given up doing anything but full rebuilds with it. Assuming a reliable partial build, I feel like there are several stages, between instantaneous, a bit long but not too long to do something else, and the long enough that you are doing something else. I think that cython in some cases makes me going from the instantaneous to a bit long stage. I will try to look at it more seriously to look for pathological cases. >> Yes // builds help a lot for large projects, for example scipy - a >> fully optimized scipy build takes < 2 minutes on a beefy computer, and >> ~ 45 seconds for debug builds. At that point, numscons and scons >> become the bottleneck. > > I don't care so much about complete project builds. Yes, not everybody cares about full builds - I do because I am involved with installers/deployment issues. Another argument for caring about full builds is regression hunting through things like git bisect and co, where reliable partial builds are not always possible (I know numscons has some issues in that area). >That > limits the amount of app deployments that we can run in our CI process, but > it limits neither development nor unit testing. I think it depends on what you are doing. Going from 5 to 2 minutes for a full build of scipy is not that useful for many people, but if every project started this kind of speedup, you could hope building things like EPD or pythonxy in one hour instead of whatever is needed ATM, and that changes the things you can do w.r.t. quality testing IMO. cheers, David _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
