07-11-2012 01:26 AM
Because I'm working with an older machine, and my code base is getting larger, I have 20 minute compile times when I have to do a full recompile. Due to this, I'm motivated to look for ways to speed this up, short of buying a new rig. I'm on linux.
Has anyone used distcc before? I've heard and read about it, but never used it. I do have access to a server that I might be able to use with distcc, but I don't even know if it's possible to compile for QNX using distcc. Anyone here have experience in that area?
07-12-2012 09:51 AM - edited 07-12-2012 09:52 AM
20 minute compile times is unreasonable but I have seen it on some other completely unrelated projects.
For C++, here are the usual suspects:
- running on a heavily loaded machine
- paging: the compiler is constantly swapping
- files across the network. Sometimes there is slow file transfer between machines.
- failing disk drive
- cascaded includes: everything includes everything (unnecessary #includes in .h files). This is less an issue nowadays, but cause slow incremental builds and can exacerbate the previous issues
- especially #include <Qt> everywhere or other big include-everything libraries
I have not looked into precompiled headers recently but used that trick in the past
07-12-2012 04:34 PM
In my case I know it's because my machine is outdated... single-core processor, 2GB ram, etc. And it's a large code base (cocos2dx). I'm not griping that it's slow, the best solution is probably to upgrade the machine, but it's not practical for me right now to do so. I know that another solution is distcc... a tool that allows you to cluster multiple machines together to speed up compiling.
So I'm asking specifically about distcc. Is there any reason distcc won't work with the Native SDK for Playbook?
07-17-2012 02:08 PM
I haven't tried it because I'd rather develop my game than fiddle And it takes a fair bit of work to set up. I'd like to know first if it's impossible before I invest a lot of time in it. I'm mostly curious if someone else has done it. I may get around to trying it eventually.
Thank you for looking into it and responding. One thing I learned in the thread you link to is there's another distributed compiling tool called icecream that I may need to look into.