[Top][All Lists]

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

Re: Low redisplay performance (23 regression)

From: David Reitter
Subject: Re: Low redisplay performance (23 regression)
Date: Wed, 22 Apr 2009 11:50:52 -0400

On Apr 22, 2009, at 11:30 AM, Daniel Clemente wrote:

I haven't compared Emacs 22 and 23, but from a subjective point of view I have noticed that latest Emacs 23 feels slow and updates too much for a modern computer. Some particular problems I noticed randomly:

- if I hold C-n, I don't see the cursor while it is moving down; I only see it jump when I have released the key. C-p works faster. This happened when I had lots of CEDET buffers open (not even parsing)

- just switching to an Emacs frame (from another window in the window manager) paints the screen progressively; this happens in tenths of second but so slowly that you can track the updated zone while it moves from top to bottom. This can be due to the video driver, X, window manager, …

- sometimes, the buffer is updated noticeably two times in succession; this happened with org-mode files (latest org-mode from Git). This could also be from Org.

I can corroborate these observations (subjectively FWIW) with different modes such as SLIME and on NS (on OS X). So I don't think it's anything system-related (drivers, X, etc).

Note that tabbar lowers the performance by a large factor. It seems the function tabbar-buffer-update-groups is run after each keypress which involves a movement on the buffer, a buffer change or a message. Try to disable it temporarily. The problem of the visually lost C-n went away when I turned it off.
 To test how much it is called, something like this can be useful:

Thanks, but I don't use tabbar in this way (my branch is found here: [1]), so this function doesn't get called.

Note that if I run tabbar, but just set header-line-format to something simpler (without all those faces), then I get a substantial speedup.

However, the point here is that these slowdowns with tabbar, SLIME, org-mode and whatever did not occur in Emacs 22. This is going to be bad for any user.

[1] git://github.com/davidswelt/aquamacs-emacs.git

reply via email to

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