Subject: RE: bug#30539: 26.0; `char-displayable-p' is much slower in Emacs 25 and 26

From: Drew Adams <[email-masked]>
Date: Tue, 20 Feb 2018 10:08:36 -0800 (PST)

Sorry, the recipe I sent before was not good.  The initial
alist of chars had already been purged of any chars that
are not `char-displayable-p'.

Please try attached file `throw-mule-bug-2.el' instead.
This time the alist of chars in variable `char-names'
includes some chars that are not `char-displayable-p'.
Evaluating `char-displayable-p' for those chars is, I
think, where the bottleneck is.

Evaluate the code in `throw-mule-bug-2.el' and then check
buffers *CPU Profiler Report* and *Memory Profiler Report*.

I've attached those reports as these files:

throw-mule-bug-cpu-report2-E24-Q - Emacs 24.5 from `emacs -Q'
throw-mule-bug-mem-report2-E24-Q - Emacs 24.5 from `emacs -Q'
throw-mule-bug-cpu-report2-E26-Q - Emacs 26P2 from `emacs -Q'
throw-mule-bug-mem-report2-E26-Q - Emacs 26P2 from `emacs -Q'

You can see these reports by using `M-x profiler-find-profile'
and entering the report file name at the prompt.

In Emacs 24.5 evaluating `(my-test)' takes only a few _seconds_.
In Emacs 26 (Pretest 2) it takes about 13 _minutes_.

Emacs 25.3.1 has the same problem as Emacs 26.