pinard/Pymacs

Pymacs caused large slowdown of emacs

Opened this issue · 3 comments

When I used pymacs it slowed down significantly, even in c++-mode (on rather new processor moving a cursor from line to line took seconds, etc.).

My code from .emacs.d/init.el:

(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)

(The problem diappeard after commenting out this section).

Hi, Maciej. I'm not familiar with Rope usage, so I'm slightly tempted to suspect that Rope might be behind the slowdown you observe. But maybe not at all. For one, Pymacs should not be consuming Emacs resources until you actually use it. You might observe Pymacs activity in the Pymacs buffer. I do not understand why you would have Pymacs activity while editing a C++ source, but you might check and get hints. Another idea is that, maybe, something is going wrong with the Pymacs helper process, or something else in the machine, either using the full CPU or thrashing through using much more virtual memory than your machine has physical memory? You might need to investigate to find hints about where the problem comes from. If there is a Pymacs problem we could address, of course, we should. Have a nice day!

Emacs have used 100% CPU (process named emacs so I presume not the pymacs helper process) i.e. single core (not all cores). There was no problem with physical memory (it was measured in GB) but emacs had consumed relatively large virtual space (3 GiB or so IIRC while currently it occupies 600 MiB of virtual address space) - sorry for omitting those informations. I believe it had large resident memory as well but I would have to check it.

I have no idea how it could affect C++ mode but I have experienced the slowdown for some time across emacs runs - it was after commenting those line when the emacs go back to normal speed. I will check the buffer today evening.

Could be problem because of rope installing some hooks globally. Could you make a recipe to reproduce the problem and send it to rope's mailing list? Its original author is still active and offers insight into rope. Good luck!