Emacs отвечает медленно: как профилировать? - PullRequest
4 голосов
/ 22 декабря 2011

Я иногда испытываю некоторые Emacs. Иногда emacs тратит очень много времени на сохранение файла. Я не совсем понял, почему и когда это происходит. Похоже, это происходит при использовании IPython и ropemacs.

Есть ли способ узнать, на что тратит время emacs? Обратите внимание, что emacs не отвечает во время "сохранения" файла.

Другой поток при профилировании emacs не дал ясного решения.

Кто-нибудь может порекомендовать мне, какие шаги предпринять, чтобы выяснить, чем заняты emacs. Как уже говорилось, это происходит при запуске оболочки ipython и когда я работаю с romamacs, чтобы связать себя с большим количеством кода. Или кто-нибудь знает о проблемах с этими пакетами? Или это проблема операционной системы? (У меня есть Ubuntu 11.10, emacs 23.3.1, ipython 0.11)

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Обзор параметров профилирования см. этот связанный вопрос ;вы можете использовать подсказки в моем ответе, чтобы профилировать конкретные пакеты, которые, как вы подозреваете, вызывают замедление.

0 голосов
/ 22 декабря 2011

Кто-то, без сомнения, даст вам совет по профилированию. Лично я бы выяснил, какая функция запускает операцию сохранения, а затем используйте отладчик Emacs в точке, где начинается сохранение - либо добавьте (debug) непосредственно перед общей операцией сохранения, либо используйте M-x debug-on-entry для функция, которая инициирует сохранение.

Я бы прошел через отладчик (используя d и c ), чтобы увидеть, сколько времени занимает этот шаг. Если бы мне приходилось угадывать вслепую, я бы предположил, что некоторый массаж / преобразование или проверка сохраняемых данных прикладного уровня (например, связанных с python) происходит перед фактической записью на диск.

Помимо всего прочего, это поможет вам лучше понять, что происходит и почему.

...