[0/1] Parallelized build for several packages

Message ID 20190220191806.2917-1-wolfgang.apolinarski@ipfire.org
Headers
Series Parallelized build for several packages |

Message

Wolfgang Apolinarski Feb. 21, 2019, 6:18 a.m. UTC
  With this patch, I tried to optimize the build (because it really takes
a long time if I compile from scratch for testing).
Nowadays, most packages are already optimizing for parallel build. I was
testing the build on an 8 core system (i.e., MAKETUNING is -j9).

I also found out something else, the collectd package build crashes when
libstatgrab is already built:
https://github.com/collectd/collectd/issues/445

Someone else already noticed this on the list, without discovering the
cause. An upgrade of collectd would be required to solve this problem.
Since I am not sure for what collectd is actually used (and a major
upgrade would be required), I did not perform this.

Speed-up:
Package | Before | After
boost | 1:20:41 | 13:39
cyrus-imapd | 3:50 | 0:48
dnsdist | 5:23 | 1:18
gcc | 46:15 | 11:29
gettext | 9:55 | 4:56
gutenprint | 3:14 | 1:22
ipfire-netboot | 9:33 | 2:07
krb5 | 5:28 | 1:27
lcd4linux | 1:04 | 0:27
netsnmpd | 8:00 | 3:33
nut | 1:59 | 0:21
openssl | 7:57 | 2:37
rrdtool | 1:31 | 0:32
samba | 5:03 | 0:55
slang | 1:04 | 0:19
snort | 5:11 | 0:56
xfsprogs | 5:41 | 1:46

I also marked packages that (in their current version) crash when being
built in parallel. I performed multiple builds (and tested the ISO
image), so I hope that this patch is reliable for everyone.
Nevertheless, please test the patch on different build environments
before applying it.


Wolfgang Apolinarski (1):
  Parallelized build for several packages

 lfs/boost          | 2 +-
 lfs/collectd       | 2 +-
 lfs/cyrus-imapd    | 2 +-
 lfs/dhcp           | 2 +-
 lfs/dnsdist        | 2 +-
 lfs/gcc            | 4 ++--
 lfs/gettext        | 8 ++++----
 lfs/groff          | 2 +-
 lfs/gutenprint     | 2 +-
 lfs/ipfire-netboot | 4 ++--
 lfs/krb5           | 2 +-
 lfs/lcd4linux      | 2 +-
 lfs/netpbm         | 2 +-
 lfs/netsnmpd       | 2 +-
 lfs/nut            | 2 +-
 lfs/openssl        | 2 +-
 lfs/rrdtool        | 2 +-
 lfs/samba          | 4 ++--
 lfs/slang          | 2 +-
 lfs/snort          | 2 +-
 lfs/xfsprogs       | 2 +-
 21 files changed, 27 insertions(+), 27 deletions(-)
  

Comments

Arne Fitzenreiter Feb. 21, 2019, 7:44 p.m. UTC | #1
On the most of this packages (eg. boot and cmake) i have disabled 
parallel build because it fails on machines with low ram (less than 2GB) 
or on arm.
So such changes need tested on an 1GB machine, on all architectures and 
build two times after deleting ccache. Because the build need much lower 
resources if it has the file already prebuilt in cache.