[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Emacs Slowdown
From: |
Phillip Lord |
Subject: |
Emacs Slowdown |
Date: |
Mon, 09 Mar 2015 11:48:47 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.90 (gnu/linux) |
I am suffering a rather disasterous slowdown in my emacs. It feels like
a memory leak, as my emacs gets slower over time. It mostly seems to be
affected auctex, where there is considerable lag in cursor movement to
the point that typing becomes difficult.
I've tried the profiler. After a long run, I find this for memory usage:
- redisplay_internal (C function) 2,853,658,459 79%
- and 2,682,842,214 74%
- directory-files 110,636 0%
- concat 74,740 0%
regexp-quote 57,316 0%
file-directory-p
which is a bit strange. I have no idea when "and" should be getting
called so much. The top of the CPU profile looks like this...
- command-execute 3996 73%
- call-interactively 3996 73%
- apply 3996 73%
- ad-Advice-call-interactively 3996 73%
- #<subr call-interactively> 3993 73%
- ido-find-file 2231 40%
- ido-file-internal 2231 40%
- ido-read-internal 2181 39%
- apply 2181 39%
- ad-Advice-ido-read-internal 2181 39%
+ #<compiled 0xce6205>
One other thing that I have noticed is that define-global-minor-mode
adds to the post-command-hook. Currently, this means that my
post-command-hook looks like this....
(global-font-lock-mode-check-buffers global-lentic-mode-check-buffers
global-pabbrev-mode-check-buffers yas-global-mode-check-buffers
global-eval-pulse-mode-check-buffers
global-auto-complete-mode-check-buffers
projectile-global-mode-check-buffers
global-wide-column-mode-check-buffers
wide-column-post-command-hook-function phil-show-paren-mode-check
winner-save-old-configurations mode-local-post-major-mode-change)
which is an awful lot of functions to be called on every keypress. I
realise that I may have gone a bit overboard here, especially as five of
those functions are mine!
I am sort of at a loss as to how to debug this further. Clever ideas
appreciated.
Phil
- Emacs Slowdown,
Phillip Lord <=