GNU bug report logs -
#30539
26.0; `char-displayable-p' is much slower in Emacs 25 and 26
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Mon, 19 Feb 2018 22:09:02 UTC
Severity: minor
Found in version 26.0
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Tue, 20 Feb 2018 10:08:36 -0800 (PST)
> From: Drew Adams <drew.adams <at> oracle.com>
>
> 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.
FWIW, on macOS 10.6, evaluating (my-test) the first time takes
~4.7 seconds, then further runs take about 0.01 seconds. Setting
inhibit-compacting-font-caches to `t' seems to have no effect on
evaluation time in either case.
But I have noticed that displaying files containing certain Unicode
characters can lock Emacs for a little while. I wonder if that is
also some manifestation of this bug. Do you also see a slow down when
you visit a file containing the characters in the `char-names'
variable you defined? Or is the slowness limited to running them
through `char-displayable-p'?
This bug report was last modified 4 years and 180 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.