Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes

From: Paul Eggert <[email-masked]>
Date: Wed, 24 Jun 2015 06:31:12 -0700

Glenn Morris wrote:

> But yes, dumping bootstrap-emacs is now ridiculously slow (~ 5 minutes).

That's just the beginning.  The real slowness comes later in the build.  Each 
time it's compiling something else, Emacs has to reload isearch.el (as 
isearch.elc doesn't exist yet), and this takes many minutes.  And it does this 
over and over.  The entire build takes so long that I haven't had the patience 
to let it finish.  Hours, at least.

> How can a bootstrap have stale files...? Mine doesn't.

I assume messages like "Reloading stale subr.el" are emitted even when the 
problem is only that subr.elc does not exist.  At least, that's what happens 
when I do this:

rm src/bootstrap-emacs src/emacs $(find . -name '*.elc')
make

The build creates 'src/bootstrap-emacs' and then goes on as follows.  Don't you 
see similar output?

   ...
   Dumping under the name emacs
   45219 pure bytes used
   : paxctl -zex emacs
   mv -f emacs bootstrap-emacs
   make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
   make[2]: Entering directory '/home/eggert/src/gnu/emacs/tmn/lisp'
     ELC      emacs-lisp/macroexp.elc
     ELC      emacs-lisp/cconv.elc
     ELC      emacs-lisp/byte-opt.elc
     ELC      emacs-lisp/bytecomp.elc
     ELC      emacs-lisp/autoload.elc
   make[2]: Leaving directory '/home/eggert/src/gnu/emacs/tmn/lisp'
   make[2]: Entering directory '/home/eggert/src/gnu/emacs/tmn/lisp'
     ELC      ../lisp/abbrev.elc
   Reloading stale byte-run.el
   Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/byte-run.el (source)...
   Reloading stale backquote.el
   Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/backquote.el (source)...
   ...

There are lots more "stale" messages like that.