ใช้เวลาโหลดช้าด้วย AUCTeX ในไฟล์ TeX


11

ฉันติดตั้งauctexและemacsแพ็คเกจบนคอมพิวเตอร์สองเครื่อง Xubuntu 14.04 ซึ่งทั้งสองทำงานได้ดี Emacs ใช้งานได้ดีทั้งคู่ แต่ตอนนี้auctexเมื่อติดตั้งแพคเกจเมื่อฉันโหลดไฟล์ TeX (แม้แต่ไฟล์เปล่า) ฉันมีเวลาโหลดหกวินาทีauctexซึ่งฉันต้องผ่านทุกครั้งที่โหลดไฟล์ TeX

เป็นเรื่องปกติหรือไม่

ถ้าไม่ฉันจะทำอย่างไรเพื่อลดเวลานี้

ฉันค้นหาอินเทอร์เน็ตและไม่มีสิ่งใดปรากฏขึ้นความจริงที่ว่าการแยกวิเคราะห์ไฟล์อาจใช้เวลานาน แต่ก็ไม่ได้เพราะฉันได้เปิดใช้งานคุณสมบัติในการบันทึกและโหลดไฟล์แยกวิเคราะห์

ฉันใช้ Emacs 24 กับ AUCTeX 11.87

แก้ไข: ผลลัพธ์ของ*messages*บัฟเฟอร์ที่มีลักษณะเช่นนี้สำหรับไฟล์ TeX ที่เพิ่งเปิดใหม่:

("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


คุณสามารถตรวจสอบ*Messages*บัฟเฟอร์และโพสต์หากมีข้อความใด ๆ ในระหว่างกระบวนการหรือไม่ อีกทางเลือกหนึ่งคือM-x toggle-debug-on-quit RETและในขณะที่ Emacs ใช้เวลาช่วงเวลาแสนหวานก็กด Cg จากนั้นโพสต์สแต็กการติดตามที่คุณได้รับ
Alan Shutko

ซึ่งอาจเข้ามามีประโยชน์มากเกินไป: DOtemacs Profiler - ต่อ-sexp-evaltime Profiler: github.com/emacsmirror/dope ฉันจำได้ว่าใช้เมื่อหลายปีก่อนเพื่อโปรไฟล์ config ของฉันเมื่อมีปัญหาเกี่ยวกับ AUCTeX / เวลาโหลดที่คล้ายกัน นำการกำหนดค่าของคุณไปสู่ระดับต่ำสุด (สไตล์การแก้จุดบกพร่องของปืนลูกซอง) และดูว่ามีการเปลี่ยนแปลงหรือไม่ คุณอาจต้องการดูข้อมูลบางส่วนที่นี่: emacswiki.org/emacs/OptimizingEmacsStartupเช่นอดีต: ใช้ autoload (AutoLoad) และ eval-after-load (EvalAfterLoad), ไบต์ไฟล์คอมไพล์และอื่น ๆ
Criveti Mihai

คำตอบ:


0

LaTeX / P เป็นโหมด LaTeX ภายใต้โหมด PDF รอง ฉันไม่เคยมีปัญหากับ AUCTeX (และฉันใช้มันตั้งแต่ emacs v22) ดังนั้นฉันจึงไม่คิดว่า AUCTeX ที่แท้จริงเป็นปัญหาของคุณ

เมื่อคุณเริ่ม emacs ด้วย -q มันจะไม่โหลดไฟล์เริ่มต้นใด ๆ ดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนั้น

หากคุณใช้ linux ฉันจะลองติดตั้ง emacs ใหม่จากแหล่งที่มา ฉันไม่เคยเชื่อถือแพ็คเกจ repos เพื่อใช้งานได้จริง (ความไม่ไว้วางใจส่วนใหญ่นั้นมาจากแพ็คเกจ TeX ที่มีอายุเกินสี่ปี) หากคุณใช้ Windoze ให้ติดตั้งจากเซิร์ฟเวอร์ ftp ของ FSF หากคุณใช้ mac ให้ติดตั้งจาก emacsformacosx.com


0

วิธีทั่วไปในการแก้ไขปัญหาที่เกิดจากการเริ่มต้นช้าคือการใช้สัญญาณขัดจังหวะของ emacs ( /emacs/506/debugging-a-frozen-emacs )

  1. วิ่ง emacs --debug-init
  2. ค้นหา pid ของกระบวนการด้วย ps -ef | grep emacs
  3. ส่งสัญญาณขัดจังหวะกระบวนการ kill -SIGUSR2 $PID
  4. ทำให้ emacs แสดง backtrace
  5. ค้นหาสิ่งที่ชัดเจนในการสืบค้นกลับทางอินเทอร์เน็ต
  6. มิฉะนั้นเริ่มทดลองใช้งานด้วยการเรียกใช้ฟังก์ชันเหล่านี้ด้วยตนเองเพื่อดูสาเหตุที่ช้า

คุณอาจสนใจใน emacs stackexchange (ฉันไม่แน่ใจว่าฉันคิดอย่างไรกับการแตกแฟรกเมนต์การแลกเปลี่ยนตัวเองบางอย่าง ... )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.