Package: emacs;
Reported by: Will Bush <will.g.bush <at> gmail.com>
Date: Mon, 20 Apr 2020 14:56:02 UTC
Severity: normal
Tags: moreinfo
Found in version 28.0.50
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Will Bush <will.g.bush <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: "Basil L. Contovounesios" <contovob <at> tcd.ie>, Robert Pluim <rpluim <at> gmail.com>, 40733 <at> debbugs.gnu.org, James Cloos <cloos <at> jhcloos.com> Subject: bug#40733: 28.0.50; Emacs locks up on paste (yank) of unicode characters Date: Wed, 29 Apr 2020 06:59:42 -0500
[Message part 1 (text/plain, inline)]
> > It would be good to know what happens in Emacs during those 88 > seconds. Please try using "M-x profiler" to find out. > Here's what I get with `M-x profiler-start`, using the default cpu sampling, `C-y` the character into a scratch buffer, wait for the character to show up, `M-x profiler-stop`, and start `M-x profiler-report`: - command-execute 34 68% - call-interactively 34 68% - byte-code 27 54% - read-extended-command 27 54% - completing-read 27 54% - completing-read-default 27 54% - read-from-minibuffer 20 40% - redisplay_internal (C function) 3 6% - tool-bar-make-keymap 1 2% - tool-bar-make-keymap-1 1 2% - mapcar 1 2% - #<compiled 0x3e964ab88a0e574> 1 2% - eval 1 2% - find-image 1 2% image-search-load-path 1 2% - mode-line-default-help-echo 1 2% window-at-side-p 1 2% - funcall 1 2% - #<compiled -0x1f995e3cc2b2ecb1> 1 2% - gui-backend-selection-exists-p 1 2% - apply 1 2% #<compiled 0x6140be5b29e66b5> 1 2% - command-execute 1 2% - call-interactively 1 2% - funcall-interactively 1 2% self-insert-command 1 2% - funcall-interactively 7 14% - execute-extended-command 7 14% - sit-for 6 12% - redisplay 5 10% - redisplay_internal (C function) 1 2% - tool-bar-make-keymap 1 2% - tool-bar-make-keymap-1 1 2% - mapcar 1 2% - #<compiled 0x3e964ab88a0e574> 1 2% - eval 1 2% - find-image 1 2% image-search-load-path 1 2% - command-execute 1 2% - call-interactively 1 2% - funcall-interactively 1 2% profiler-stop 1 2% - ... 15 30% Automatic GC 11 22% - minibuffer-complete 4 8% - completion-in-region 4 8% - completion--in-region 4 8% - #<compiled -0x1e2ae9bfb330a9ab> 4 8% - apply 4 8% - #<compiled -0x1803b12e396f20ff> 4 8% - completion--in-region-1 4 8% - completion--do-completion 4 8% - completion-try-completion 2 4% - completion--nth-completion 2 4% - completion--some 2 4% - #<compiled 0x19362eb0698d1781> 2 4% - completion-basic-try-completion 2 4% - try-completion 2 4% - #<compiled 0x8eea649a66594a4> 2 4% complete-with-action 2 4% - minibuffer-completion-help 2 4% - completion-all-completions 1 2% - completion--nth-completion 1 2% - completion--some 1 2% - #<compiled 0x19362eb0508d1781> 1 2% - completion-basic-all-completions 1 2% - completion-pcm--all-completions 1 2% - all-completions 1 2% - #<compiled 0x8eea649a66594a4> 1 2% complete-with-action 1 2% - temp-buffer-window-show 1 2% - display-buffer 1 2% - display-buffer-at-bottom 1 2% - window--display-buffer 1 2% - #<compiled -0x142698e7aac52b3a> 1 2% - display-completion-list 1 2% - completion--insert-strings 1 2% - mapcar 1 2% #<compiled -0x6d88f6ac78df9> 1 2% - timer-event-handler 1 2% - apply 1 2% #<compiled 0x2393a4a91a526d> 1 2% On Sat, Apr 25, 2020 at 8:51 AM Eli Zaretskii <eliz <at> gnu.org> wrote: > > From: Will Bush <will.g.bush <at> gmail.com> > > Date: Sat, 25 Apr 2020 05:34:23 -0500 > > Cc: "Basil L. Contovounesios" <contovob <at> tcd.ie>, 40733 <at> debbugs.gnu.org, > > James Cloos <cloos <at> jhcloos.com> > > > > Eli> I'm not sure I understand: you are saying that slow, but correct > > Eli> display is _worse_ than displaying a white space instead of the > > Eli> correct glyph, i.e. producing incorrect display? To me, it sounds > > Eli> like Emacs 27+ actually _improves_ things in this case. > > > > Let me quantify the performance because I've been ambiguous about it so > far: > > > > λ ~/ time emacs -Q --eval '(message "hi")' -kill > > emacs -Q --eval '(message "hi")' -kill 0.19s user 0.02s system 55% cpu > 0.371 total > > λ ~/ time emacs -Q --eval '(message "︵")' -kill > > emacs -Q --eval '(message "︵")' -kill 81.64s user 0.03s system 99% cpu > 1:21.91 total > > > > It takes ~81 seconds to do something while locking up the UI. That's > personally > > beyond my threshold for killing the process. > > It would be good to know what happens in Emacs during those 88 > seconds. Please try using "M-x profiler" to find out. >
[Message part 2 (text/html, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.