[dpdk-dev] [PATCH] mk: optimize directory dependencies
    Robin Jarry 
    robin.jarry at 6wind.com
       
    Tue Jan 24 12:19:49 CET 2017
    
    
  
Hi Olivier,
2017-01-23, Olivier Matz:
>Before this patch, the management of dependencies between directories
>had several issues:
>
>- the generation of .depdirs, done at configuration is slow: it can take
>  more than one minute on some slow targets (usually ~10s on a standard
>  PC).
Indeed, on a Qualcomm development board where disk I/O is quite slow:
  $ git describe
  v17.02-rc1-3-g61207d014fc9
  $ time make config T=arm64-armv8a-linuxapp-gcc
  real    1m4.308s
>- for instance, it is possible to expressed a dependency like:
s/expressed/express/
>- we cannot use "make -d" for debug, because the output of make is used 
>for the generation of .depdirs.
That is really annoying when debugging makefiles.
After applying this patch:
  $ git am mk-optimize-directory-dependencies.patch
  Applying: mk: optimize directory dependencies
  $ rm -rf build/
  $ time make config T=arm64-armv8a-linuxapp-gcc
  real    0m0.111s
Almost 600 times faster than before!
I prefer this solution to the one proposed by Ferruh (which is 
interesting but requires to run parallel make). Here is a test with the 
other patch:
  $ git am mk-parallelize-make-config.patch
  Applying: mk: parallelize make config
  $ rm -rf build/
  $ grep -c processor /proc/cpuinfo
  24
  $ time make config T=arm64-armv8a-linuxapp-gcc -j24
  real    0m11.253s
Here only 6 times faster than before, even when using 24 parallel 
processes.
Tested-by: Robin Jarry <robin.jarry at 6wind.com>
    
    
More information about the dev
mailing list