So, user Vermaden suggested I write a HOWTO about my implementation of ccache and tmpfs, based on my success in (possibly) decreasing the build time of packages so other folks who use ports-mgmt/poudriere could potentially benefit as well. Before I do this, I want to be sure the numbers I am basing my assumption on are correct and I am not just saying "yay it's faster" without understanding what is actually happening.
So, with an already "used" ports-mgmt/poudriere install, I built the same static list of packages I always do, but added www/chromium to the list. No ccache and no tmpfs. I ran
A few days later I ran another
I did the same thing again yesterday but added www/firefox to the ports list and the build took about 4 hours.
Today I ran
ports-mgmt/poudriere still showed these large ports as being built though so now I am confused. What is actually happening here and do my changes by adding ccache, tmpfs and setting ALLOW_MAKE_JOBS to "yes" really make that much difference?
I just want to be sure I am not basing my decreased build time on something that is not really happening. Are these packages in fact being rebuilt?
Thanks in advance.
So, with an already "used" ports-mgmt/poudriere install, I built the same static list of packages I always do, but added www/chromium to the list. No ccache and no tmpfs. I ran
poudriere ports -u
to update the ports tree, did a custom port option configuration of www/chromium and the build of ~200 packages including the never before built www/chromium, took about 11 hours.A few days later I ran another
poudriere ports -u
and the same build process without adding or removing any packages for my build list, but adding the configuration for ccache and adding tmpfs to my /etc/fstab. The build time was around 4 hours.I did the same thing again yesterday but added www/firefox to the ports list and the build took about 4 hours.
Today I ran
poudriere ports -u
but changed ALLOW_MAKE_JOBS to "yes" in /usr/local/etc/poudriere.conf and reran the same ports list build. The build time was 46 minutes, BUT, when I ran pkg update
from my PC which pulls packages from my build box, only 4 or 5 packages were updated, and not any of the "heavy hitters": chromium, firefox, libreoffice. NOTE - I also did this after each time I ran a build on the build machine, unfortunately I didn't note if these large packages were updated on my PC, except for the last build.ports-mgmt/poudriere still showed these large ports as being built though so now I am confused. What is actually happening here and do my changes by adding ccache, tmpfs and setting ALLOW_MAKE_JOBS to "yes" really make that much difference?
I just want to be sure I am not basing my decreased build time on something that is not really happening. Are these packages in fact being rebuilt?
Thanks in advance.