Emacs verlangsamen die Ladezeit mit AUCTeX für TeX-Dateien


11

Ich habe die Pakete auctexund emacsauf zwei Xubuntu 14.04-Computern installiert, die beide einwandfrei funktioniert haben. Emacs selbst funktioniert auf beiden Seiten einwandfrei, aber jetzt, wo das auctexPaket installiert ist, habe ich beim Laden einer TeX-Datei (auch nur einer leeren) eine Ladezeit von sechs Sekunden auctex, die ich jedes Mal durchlaufen muss, wenn ich eine TeX-Datei lade.

Ist das normal?

Wenn nicht, was kann ich tun, um diese Zeit zu verkürzen?

Ich habe im Internet gesucht und nichts ist aufgetaucht, nur die Tatsache, dass das Parsen von Dateien möglicherweise lange dauert, aber nicht, da ich die Funktion zum Speichern und Laden von Pars-Dateien aktiviert habe.

Ich verwende Emacs 24 mit AUCTeX 11.87

BEARBEITEN: Die Ausgabe des *messages*Puffers sieht für eine neu geöffnete TeX-Datei folgendermaßen aus:

("emacs" "hi.tex")
Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...
Loading /usr/share/emacs/site-lisp/auctex.el (source)...done
Loading /usr/share/emacs/site-lisp/preview-latex.el (source)...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...
Loading cjk-enc...done
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
Applying style hooks... done
exchange-point-and-mark: No mark set in this buffer [6 times]
exchange-point-and-mark: No mark set in this buffer


Könnten Sie den *Messages*Puffer überprüfen und posten, ob während des Vorgangs Nachrichten vorliegen? Eine andere Möglichkeit ist M-x toggle-debug-on-quit RET, und während Emacs sich die süße Zeit nimmt, Cg zu drücken. Dann poste den Stack Trace, den du bekommst.
Alan Shutko

Dies könnte auch nützlich sein: DOtemacs ProfilEr - Ein Profiler pro Sexp-Evaltime: github.com/emacsmirror/dope . Ich erinnere mich vage daran, es vor Jahren verwendet zu haben, um meine Konfiguration zu profilieren, wenn ähnliche Probleme mit AUCTeX / Ladezeit auftreten. Reduzieren Sie Ihre Konfiguration auf ein Minimum (Debugging-Stil für Schrotflinten) und prüfen Sie, ob sich Änderungen ergeben. Sie können sich auch einige der Informationen hier ansehen : emacswiki.org/emacs/OptimizingEmacsStartup, z. B. Beispiel: Verwenden von Autoload (AutoLoad) und Eval-After-Load (EvalAfterLoad), Byte-Kompilieren von Dateien usw.
Criveti Mihai

Antworten:


0

LaTeX / P ist der LaTeX-Modus im PDF-Minor-Modus. Ich hatte noch nie ein Problem mit AUCTeX (und ich habe es seit Emacs v22 verwendet), daher denke ich wirklich nicht, dass AUCTeX an sich Ihr Problem ist.

Wenn Sie Emacs mit -q starten, werden keine Initialisierungsdateien geladen. Weitere Informationen hierzu finden Sie in der Dokumentation.

Wenn Sie Linux verwenden, würde ich versuchen, Emacs von der Quelle neu zu installieren. Ich habe nie darauf vertraut, dass die Paket-Repos tatsächlich funktionieren. (Das meiste Misstrauen kommt von den TeX-Paketen, die älter als vier Jahre sind.) Wenn Sie Windoze verwenden, installieren Sie es vom FTP-Server der FSF. Wenn Sie einen Mac verwenden, installieren Sie ihn von emacsformacosx.com


0

Die allgemeine Möglichkeit, Probleme beim langsamen Start zu debuggen, besteht darin, die Interrupt-Signale von emacs zu verwenden ( /emacs/506/debugging-a-frozen-emacs ).

  1. Lauf emacs --debug-init
  2. Finden Sie die PID des Prozesses mit ps -ef | grep emacs
  3. Senden Sie dem Prozess ein Interrupt-Signal kill -SIGUSR2 $PID
  4. Dies führt dazu, dass Emacs eine Rückverfolgung anzeigen
  5. Durchsuchen Sie das Internet nach etwas Offensichtlichem in diesem Traceback
  6. Versuchen Sie andernfalls, einige dieser Funktionen manuell auszuführen, um festzustellen, warum sie langsam sind.

Vielleicht interessiert Sie auch der Emacs-Stack-Austausch. (Ich bin mir nicht sicher, was ich von der Fragmentierung des Stapelaustauschs selbst halte ...)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.