Using pkgsrc at our company since a bit over a year has been excellent thanks to the great work from jperkin and many others. It is one of the tools i wish i had known earlier about since it makes life sooo much easier.
- Quartly stable releases mean that you have recent software most of the time.
- It is available on many platforms (OS X, Linux, SmartOS/Illumos, the BSDs, ...) so you can use the same packages on all your systems.
- Very easy to build binary packages of custom software / custom options / different versions / add your own patches. This is critical for most sysadmins/ops people - and if you ever tried to setup koji for CentOS you will love the simplicity of pkgsrc...
In my opinion pkgsrc is the most underappreciated "devops"-tool out there. It gave us much more control over our software stack and reduced the amount of work we had to put in to archive our goals.
I also expect the effort to reduce bulk-build times to further improve the software quality of all things in pkgsrc. Instead of weekly/daily bulk-builds (depending on the platform) it will be possible to have 4 or more reports a day. This quick feedback will make determining if/which commit broke/fixed something more immediate. Great stuff!
Given the distributed nature the first implementation would keep the ccache objects on NFS, and that's going to cause additional latency for every cc invocation to the point where even a cache hit will likely be slower.
The next step would be to synchronise all of the ccache objects back to each build zone and then loopback-mount the directory into each chroot. This may provide a small increase in performance, but at the cost of additional complexity. I also wonder whether it would be enough of a performance win compared to the extra time it will take to rsync the objects to each build zone at the start of the build.
I will likely do this at some point anyway, as I'd like to have some hard numbers to back up my theory, and if it turns out to be a win, even better ;)
And it doesn't go much faster than just compiling locally with Clang on an 8 core CPUs with SSDs.