[Freeswitch-users] Build slow, I may have a solution for you.

Michael Jerris mike at jerris.com
Tue Apr 3 07:10:55 PDT 2007

I have been working on many build improvements to the FreeSWITCH(tm)
build system as you know.  The most common complaint I have had lately
is how long it takes to ./bootstrap.sh && ./configure && make.  I have a
few things in place to address this now.  Please read on.

./bootstrap.sh speed:  I have nothing in tree yet, but some plans that
should help this, please stay tuned.

./configure speed:  in my testing using the -C option on configure to
use a cache file will significantly speed up your configure.  In my
testing it was an improvement from 2 min 51 sec to 1 min 54 sec.  I
strongly suggest using -C when you configure.  If anyone knows of a way
to make this the default (I have not yet found a way) I would appreciate
it.  Additional speedups in the works on this.

Make speed:  I now have make -j working at least for the core, all of
it's dependencies, and all the default modules and their dependencies.
In my test setup, using -j on make increased the build speed on fresh
checkout from 4 min 2 sec to 1 min 33 seconds.

I strongly suggest using both of these build options.

Build speed test machine specs:
Dual Intel(R) Xeon(R) CPU 5130  @ 2.00GHz server (4mb cache)
8gb ram
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
clean checkout of svn trunk r4844
bootstrapped using:
autoconf (GNU Autoconf) 2.59
automake (GNU automake) 1.9.2
ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.436 2007/02/17 08:23:50) (this
is actually 1.5.23b as available on the gnu website at
http://www.gnu.org/software/libtool/ under Development Release of Stable
Branch     GNU Libtool 1.5.23b     17 February 2007   )

configured with no special options but -C and --prefix
default modules.conf

time for the make portion only with -j

real    1m33.478s
user    2m54.077s
sys     1m16.572s

time for the make portion only without  -j

real    4m2.703s
user    2m48.403s
sys     1m16.136s

time ./configure -C --prefix=/usr/local/freeswitch.dashj

real    1m54.606s
user    0m45.334s
sys     0m56.963s

time ./configure --prefix=/usr/local/freeswitch.dashj

real    2m51.017s
user    1m10.320s
sys     1m28.682s

More information about the FreeSWITCH-users mailing list