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

From: Artur Malabarba <[email-masked]>
Date: Wed, 24 Jun 2015 18:38:42 +0100

2015-06-24 18:15 GMT+01:00 Glenn Morris <[email-masked]>:
> Eli Zaretskii wrote:
>
>>> Options I see
>>> 1. I could move the code to a separate file, and then only require
>>> that file as part of the isearch command, so it wouldn't be loaded at
>>> compile time.
>>> 2. I could just save that char-table directly in the file. It would be
>>> large, but it should speed up the loading by a lot.
>>
>> I think 1 is better.  Make that variable autoloaded in isearch.el, and
>> the problem should be solved.
>
> (I didn't look at the details of this case, but autoloading variables
> tends to just dump the entire definition in the target file, so that
> might not help.)

I'll actually autoload the function that does the conversion.

> Do note that
>
> time ./src/emacs -Q -batch -l ./lisp/isearch.el
>
> takes ~ 90 seconds here (versus ~ 0.1 sec for the .elc version).
>
> So it's still leaving a time-bomb around if anyone ever loads the
> uncompiled version of wherever that code ends up.

I don't know. If I run that command I get similar results to you (~ 50
sec). But now I've moved the code to its own file, and running that
command on the new file yields 3 seconds (which is roughly the same I
get from evaluating it inside Emacs).
So maybe it's not such a big time bomb.

I'll push the change and we'll see if it helps.

> (Why is it so dog slow?)

No idea! But it's something related to isearch.el.