[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gmake + unexec = fast!
From: |
Stefan Monnier |
Subject: |
Re: gmake + unexec = fast! |
Date: |
Fri, 22 Mar 2019 15:07:24 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> On the hardware of the day, it took 30 seconds for GNU Make
> 3.80 to read the files and issue the first build command.
Do you have some idea of how those 30s were spent?
> So then I took the "unexec" code from GNU Emacs, transplanted it into
> GNU Make and hooked it to a "--dump" option.
> Now, "make --dump" would produce an executable image called "remake",
> that requiring over half a minute to produce.
> Then running "./remake" would almost instantly kick off the
> incremental build.
So the 30s were spent just reading the makefiles rather then looking at
the relative state of all the relevant files to figure out what needs to
be rebuilt?
That seems like a really long time just to read makefiles. I wonder
what took so long. Were there lots of $(<function> <args>) calls in
there, maybe? If so, are we sure it's correct to precompute them and
stash the result in the dump?
Stefan