emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Performance issues after upgrading from Emacs 23.3 to 24.3+prelude
@ 2014-01-06 16:54 Karl Voit
  2014-01-07  9:19 ` Bastien
  0 siblings, 1 reply; 8+ messages in thread
From: Karl Voit @ 2014-01-06 16:54 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-01-09 21:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-06 16:54 Performance issues after upgrading from Emacs 23.3 to 24.3+prelude Karl Voit
2014-01-07  9:19 ` Bastien
2014-01-07 13:50   ` Karl Voit
2014-01-09 16:24     ` Eric S Fraga
2014-01-09 19:17   ` Karl Voit
2014-01-09 19:39     ` Nicolas Goaziou
2014-01-09 20:24       ` Performance issues after upgrading from Emacs 23.3 to 24.3 Karl Voit
2014-01-09 21:10         ` Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).