tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make: should -j affect cwd?



On Wed, Jan 18, 2012 at 9:41 PM, Steven Bellovin 
<smb%cs.columbia.edu@localhost> wrote:
>
> On Jan 18, 2012, at 12:10 12PM, Christos Zoulas wrote:
>>
>> One of the problems with the current make is performance. Doing a simple
>> ktrace , then kdump | grep NAMI reveals that each path is stat'ed four times
>> one of them completely redundant, since it was just stat'ed before. There
>> has been a lot of sandbagging in the path resolution code, to fix bugs by
>> adding extra checks without understanding the original source of the problem.
>>
>> The second main issue is variable evaluation, and the recent abuse of
>> ${VAR:Uconstantstring}. Running a profiled make in libc reveals that 20%
>> of the run is spent in tolower() and ApplyModifiers(). 50% of the run
>> is spent doing stat().
>
>
> Without disputing any of your factual statements, is this really important?
> Make gets a workout when it's being used to build large projects, but in
> such cases I suspect -- but haven't measured! -- that compilation time
> strongly dominates total runtime.
>
>                --Steve Bellovin, https://www.cs.columbia.edu/~smb

There is at least one application where compilation time may be less
than make runtime. This is pkgsrc bulk build tools (pbulk and distbb).
The very first stage of the bulk build is to collect summaries
(PKGNAME, PKGPATH,DEPENDS etc.) for packages to build. For full bulk
builds it takes *hours* on modern hardware.


Home | Main Index | Thread Index | Old Index