emacs-orgmode
[Top][All Lists]
Advanced

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

[O] Performance issues after upgrading from Emacs 23.3 to 24.3+prelude


From: Karl Voit
Subject: [O] Performance issues after upgrading from Emacs 23.3 to 24.3+prelude
Date: Mon, 6 Jan 2014 17:54:50 +0100
User-agent: slrn/0.9.9 (Linux)

Hi!

I have got very severe performance issues after I upgraded my Emacs.

Before upgrading:
    - Debian stable x64
    - Emacs 23.3 (Debian stable deb-package)
    - Org-mode from git: version 8.2.3c (release_8.2.3c-225-g668ba5)
    - no prelude

Now:
    - Debian stable x64
      - no change but I replaced Debian Emacs packages with
        Emacs-snapshot and MELPA/Marmelade
    - Emacs-snapshot 24.3.50.1 from [1]
    - Org-mode from git: version 8.2.3c (release_8.2.3c-225-g668ba5)
      - no change
    - Emacs prelude from [2]


I mainly use Emacs for Org-mode and therefore I got issues only in
Org-mode. Some tasks are very slow and take 100% of a CPU core. This
is the rare occasion where I am happy that Emacs is single-threaded
:-)

Further down, there are three examples with their profiling results.
I don't know how to interpret the profiling results properly. 


Most annoying: sometimes, Emacs starts using up its CPU core at 100%
without any particular reason or event I am aware of. Probably it is
while auto-saving (not every time!) but I am not sure. 

I have no idea on how to debug this behavior because when Emacs is
blocking completely, it is not even updating its buffer display nor
reacting on C-g or similar. However, I am able to kill (with default
kill signal) the Emacs process without leaving unsaved buffers.


I guess that with Emacs prelude, I got some functionality which is
causing these issues. So this might be of interest of other
Emacs/prelude users as well.


* Example 1: moving an item in a list up/down

I just switch two lines of a simple list by invoking M-<up>:
- foo
- bar
- baz (is moved one line up)

This took only a fraction of a second before. Now I ave to wait
approx. 2-3 seconds.

I learned how to use the Emacs profiler and generated a CPU-report
when invoking the command: [3]

Interestingly, when I am using M-x org-move-item-up, it does not
show the slow-down effect.


* Example 2: M-<up> on a heading containing 20000 lines of
appointments and notes

This task took almost two minutes. Before the update, this was
probably done in a couple of seconds.

Here is the CPU-report of the profiler: [4]


* Example 3: Re-calculating and formatting of a 10x10 table

The table has 10x10 cells and four very simple formulas. The
operation took approx. 1-3s before the update. Now, it takes over
four minutes.

The command invoked was: C-u C-u C-c C-c

CPU-profiling report: [5]


  1. http://emacs.naquadah.org/
  2. git://github.com/bbatsov/prelude.git
  3. http://pastebin.com/mQRDYbq7 -> M-<up> on a list item
  4. http://pastebin.com/P2sJPsHy -> moving large heading
  5. http://pastebin.com/3Kw6knYU -> re-calculating table
-- 
mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <

https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github




reply via email to

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