bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24565: 25.1: info freezes on some elements


From: Nikolay Kudryavtsev
Subject: bug#24565: 25.1: info freezes on some elements
Date: Fri, 30 Sep 2016 13:50:39 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Yes I thought it was font lookup too, but after doing some more testing - it does not look like it. Doing next-line or previous line triggers it, but page up or page down does not. So the freeze happens when the point crosses one of those symbols.

I did some profiling, so here's some data:

Test 1: as described before, but with profiler-start and profiler-report when we reach the end of buffer. In 24.5 profiler reports less than 50 total samples. In 25.1 it reports at least 1900 cpu samples.

Test 2: as test 1, but with down arrow manually pressed every time and waiting for cursor to move to the next line. In Emacs 24.5 it takes 50 seconds to reach the bottom of the buffer and again ~50 samples. But with 25.1 it took 2 minutes 34 seconds and at lest 3200 cpu samples.

Test 3: in test 1 I actually let the key go the moment Emacs freezes, because every new command adds to the freeze. Now let's do as before, but just hold down the down arrow for 30 seconds and see how much it takes to unfreeze. Emacs unfroze after 5 minutes and 35 seconds and reported ~20000 cpu samples.

Here's a profiler-report structure from test 1:
- command-execute 3664  95%
 - call-interactively 3664  95%
  - funcall-interactively 3615  94%
   - next-line 3614  94%
    - line-move 3614  94%
       line-move-visual 2054  53%
     - line-move-partial 517  13%
      + default-line-height 1   0%
     - window-inside-pixel-edges 3   0%
      - window-edges 3   0%
       - window-current-scroll-bars 3   0%
          frame-current-scroll-bars 3   0%
     - default-line-height 1   0%
        default-font-height 1   0%
   - execute-extended-command 1   0%
    - sit-for 1   0%
       redisplay 1   0%
  - byte-code 49   1%
   - read-extended-command 49   1%
    - completing-read 49   1%
     - completing-read-default 49   1%
      - read-from-minibuffer 45   1%
       - redisplay_internal (C function) 1   0%
        - tool-bar-make-keymap 1   0%
         - tool-bar-make-keymap-1 1   0%
          - mapcar 1   0%
           - #<compiled 0x10011609f>                                1   0%
            - eval 1   0%
             - find-image 1   0%
                image-search-load-path 1   0%
- ... 157   4%

I guess my next task is profiling the с source, is there anything I should look into?

--
Best Regards,
Nikolay Kudryavtsev






reply via email to

[Prev in Thread] Current Thread [Next in Thread]