isolating builds within a module

Alexander Neundorf neundorf at kde.org
Wed Sep 23 20:52:27 BST 2009


On Sunday 04 January 2009, Alexander Neundorf wrote:
> Hi,
>
> we didn't forget about this...

... and I still didn't forget about this.

> On Thursday 13 November 2008, Aaron J. Seigo wrote:
> > On Wednesday 12 November 2008, Alexander Neundorf wrote:
>
> ...
> > that doesn't reflect my experience at all.. let's see:
> >
> > aseigo at independence:~/kde4/build/KDE/kdelibs/plasma> time make -j4
> > [  3%] Built target threadweaver                                  
> > [ 16%] Built target solid                                         
> > [ 35%] Built target kdecore                                       
> > [ 64%] Built target kdeui                                         
> > [ 83%] Built target kio                                           
> > [ 87%] Built target knewstuff2                                    
> > [ 90%] Built target kfile                                         
> > [100%] Built target plasma                                        
> >  
> > real    0m8.894s
> > user    0m8.329s
> > sys     0m1.392s

This should be slightly faster now with current cmake cvs HEAD (which will 
become cmake 2.8.0 soon).
The number of calls to access() necessary for that part of the checking has 
been reduced significantly last week (checking only the khtml target went 
from 0.3 seconds down to 0.25 seconds, that's more than 10% less).

> > that gives a sense of the overhead. but that's probably not realistic.
> > let's modify a file:
> >
> >
> > aseigo at independence:~/kde4/build/KDE/kdelibs/plasma> time make -j4
> > [  3%] Built target threadweaver
> > [ 16%] Built target solid
> > [ 35%] Built target kdecore
> > [ 64%] Built target kdeui
> > [ 83%] Built target kio
> > [ 87%] Built target knewstuff2
> > [ 90%] Built target kfile
> > Scanning dependencies of target plasma
> > [ 90%] Building CXX object plasma/CMakeFiles/plasma.dir/framesvg.o
> > Linking CXX shared library ../lib/libplasma.so
> > [100%] Built target plasma
> >
> > real    0m12.325s
> > user    0m10.941s
> > sys     0m2.116s

This adds 4 seconds compared to not having to build something. That's actually 
not that much, it scans the dependencies, compiles one file and links it to a 
library. I would have expected a bigger difference.
Anyway, part of these 4 seconds is the "Scanning dependencies of target 
plasma", and this has just today become much faster in cmake cvs HEAD (i.e. 
for me it went from about 7 seconds for khtml down to a bit above 1 second). 
This should help a bit also in this case.

Alex




More information about the kde-core-devel mailing list