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

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

bug#16832: Emacs goes crazy when deleting lines


From: Fabrice Niessen
Subject: bug#16832: Emacs goes crazy when deleting lines
Date: Thu, 20 Mar 2014 12:33:26 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt)

Nicolas Goaziou wrote:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>> Thanks.  So this looks like a problem with Org Mode.  In particular,
>> org-element-inline-babel-call-successor takes a lot of time in this
>> case.  That function traverses the buffer from top to bottom:
>>
>>       (while (search-forward "call_" nil t)
>>      (save-excursion
>>        (goto-char (match-beginning 0))
>>        (when (looking-at org-babel-inline-lob-one-liner-regexp)
>>          (throw 'exit (cons 'inline-babel-call (point)))))))))
>
> This one is an updated function, which doesn't match posted report.
> I expect it to be faster than the previous implementation. It would be
> nice to have a new profiler report, though.

New test done just now. Still too slow (see video on
http://screencast.com/t/elBEfuZtd62), but much, much less...

There is an order of magnitude with the previous performance!
Excellent.

Environment:

- GNU Emacs 24.3.50.1 (i686-pc-mingw32) of 2014-03-15 on LEG570

- Org-mode version 8.2.5h (release_8.2.5h-808-g60a6c0), fetched 10 mins
  ago

Performance report:

--8<---------------cut here---------------start------------->8---
- ...                                                            2357  97%
 - ad-activate                                                   2343  97%
  - ad-activate-advised-definition                               2343  97%
   - ad-make-cache-id                                            2343  97%
    - ad-arglist                                                 2343  97%
     - require                                                   2343  97%
      - apply                                                    2343  97%
       - ad-Advice-require                                       2343  97%
        - let                                                    2343  97%
         - let*                                                  2343  97%
          - org-element-at-point                                 2342  97%
           - save-excursion                                      2342  97%
            - save-restriction                                   2342  97%
             - let                                               2342  97%
              - cond                                             2342  97%
               - org-element--parse-to                           2342  97%
                - catch                                          2342  97%
                 - save-excursion                                2342  97%
                  - save-restriction                             2342  97%
                   - let*                                        2342  97%
                    - let*                                       2017  83%
                     - prog1                                     2017  83%
                      - catch                                    2017  83%
                       - while                                   2017  83%
                        - if                                     2017  83%
                         - progn                                 2017  83%
                          - setq                                 2017  83%
                           - org-element--get-next-object-candidates            
   2017  83%
                            - delq                               2017  83%
                             - if                                2017  83%
                              - mapcar                           2017  83%
                               - #<lambda 0x1741100e>               2017  83%
                                - funcall                        2017  83%
                                 - org-element-latex-or-entity-successor        
        912  37%
                                  - save-excursion                912  37%
                                   - let                          912  37%
                                      if                          912  37%
                                 - org-element-link-successor                
389  16%
                                  - save-excursion                389  16%
                                   - let                          389  16%
                                      if                          389  16%
                                 - org-element-line-break-successor             
   215   8%
                                  - save-excursion                215   8%
                                   - let                          215   8%
                                      and                         215   8%
                                 - org-element-inline-src-block-successor       
          99   4%
                                  - save-excursion                 99   4%
                                     if                            99   4%
                                 + org-element-macro-successor                 
53   2%
                                 + org-element-footnote-reference-successor     
            53   2%
                                 + org-element-statistics-cookie-successor      
           53   2%
                                 + org-element-timestamp-successor              
   51   2%
                                 + org-element-target-successor                 
50   2%
                                 + org-element-radio-target-successor           
      49   2%
                                 + org-element-export-snippet-successor         
        47   1%
                                 + org-element-sub/superscript-successor        
         37   1%
                                 + org-element-text-markup-successor            
      8   0%
                                   intern                           1   0%
                    + let                                         325  13%
          + cond                                                    1   0%
   Automatic GC                                                    14   0%
+ flyspell-post-command-hook                                       28   1%
+ command-execute                                                  17   0%
+ redisplay_internal (C function)                                  12   0%
--8<---------------cut here---------------end--------------->8---

Best regards,
Fabrice

-- 
Fabrice Niessen
Leuven, Belgium
http://www.pirilampo.org/





reply via email to

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