ข้อ จำกัด ในทางปฏิบัติเกี่ยวกับขนาดไฟล์โหมดองค์กรหรือไม่


13

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

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

นี่คือ homeac emacs 24.4 บน Mac OS X Mavericks


2
คุณใช้อย่างอื่นพร้อมกับมันlinum-modeใช่ไหม โหมดย่อยพิเศษอื่น ๆ ที่ใช้งานอยู่ (ถ้ามี)?
กฎหมาย

ฉันมีจำนวนมากเกินไปที่จะแสดงรายการ ... ฉันเริ่มต้นด้วย emacs-live (กล่องเครื่องมือ clojure) และโหลดทุกแพ็คเกจที่ดูน่าสนใจที่ฉันสามารถหาได้ใน elpa และ marmalade ฉันจะทำการทดสอบด้วยการติดตั้ง emacs เปลือย หากโหมดองค์กรทำงานได้ดีแล้วฉันจะเริ่มแบ่งแพคเกจของฉันออก อาจเป็นเวลาที่ดีในการเริ่มต้นใหม่
Reb.Cabin

2
ไฟล์นี้ไม่ใหญ่เกินกว่าจะจัดการได้ ฉันมีประสบการณ์กับไฟล์บรรทัด 7000 github.com/grettke/home/blob/master/ALEC.orgและหัวเรื่องไม่มาก ฉันไม่เจอภาระหรือบันทึกความเชื่องช้า #+STARTUP: showeverythingฉันได้รับช้าลงเมื่อฉันยุบหัวดังนั้นฉันทำงานกับ คุณมี Emacs ใหม่ล่าสุดซึ่งมาพร้อมกับโหมด org ใหม่ล่าสุด เริ่ม Emacs ด้วยemacs -Qและค่อยๆเพิ่มแพคเกจย้อนกลับเพื่อ จำกัด แพ็คเกจที่ละเมิดให้ช้าลง ฉันใช้ "24.4.1" และ "8.2.10" emacs และ org
grettke

คำตอบ:


18

หนึ่งในคุณสมบัติที่รู้จักกันน้อยของ Emacs คือมันมี profiler! สมมติว่าไฟล์ของคุณถูกเรียกfoo.orgจากนั้นคุณสามารถทำได้:

M-xprofiler-start

C-x ffoo.org

M-xprofiler-report

หลังจากที่คุณทำทุกอย่างที่ Emacs จะปรากฏขึ้นพร้อมกับสถิติการใช้งาน CPU (คุณสามารถเลือกที่จะทำโปรไฟล์หน่วยความจำหรือทั้ง CPU และหน่วยความจำเมื่อคุณเริ่ม profiler) นี่จะให้เบาะแสบางอย่างแก่คุณเกี่ยวกับฟังก์ชั่นที่ใช้เวลาในการประมวล


ดูเหมือนว่าหากบัฟเฟอร์ของฉันมีมากกว่า 7k บรรทัดมันจะหยุดอย่างยาวนาน คุณรู้ไหมว่าทำไมถึงเป็นเช่นนั้น?
user8128167

@ user89861 การคาดเดาครั้งแรกของฉันคือการทำตัวอักษร แต่ไม่ต้องพยายามโพรไฟล์มันเป็นการยากที่จะบอก
wvxvw

ตกลงนี่คือสิ่งที่ฉันได้รับจากรายงานผู้รวบรวม: + timer-event-handler 408694 96% + command-execute 14634 3% + ... 1480 0% + redisplay_internal (ฟังก์ชัน C) 183 0% + isearch-pre-command -hook 1 0%
user8128167

@ user89861 ดูว่าตัวแปรตัวใดตัวหนึ่งในสองตัวนี้: stackoverflow.com/a/11670718/5691066จะบอกให้คุณทราบว่าตัวจับเวลาใดที่ทำงานอยู่
wvxvw

3

ฉันลอกทุกแพ็คเกจออกจากสภาพแวดล้อม emacs ของฉันและตอนนี้โหมด org ทำงานได้ดีบนไฟล์ 6,000 บรรทัดของฉัน

สิ่งอื่น ๆ ที่ฉันโหลดก่อให้เกิดปัญหา ฉันจะต้องแบ่งการติดตั้งแพ็กเกจของฉันออกเพื่อหาว่ามันคืออะไร แต่โหมดองค์กรดูเหมือนจะใช้ได้ในตอนนี้


ติดตั้ง emacs-live ใหม่ซึ่งไม่ได้ทำให้เกิดปัญหา
Reb.Cabin

หากคำถามของคุณได้รับคำตอบที่น่าพอใจและคุณไม่ต้องการคำตอบเพิ่มเติมโปรดลองตอบคำถามของคุณเพื่อที่ว่าคำถามนี้จะถูกลบออกจากรายการคำถามที่ยังไม่ได้ตอบ
ดึง

@Drew - มีช่วงเวลาที่รอรับคำตอบของตัวเอง - บางอย่างเช่น 36 หรือ 48 ชั่วโมง
ฏหมาย

1
@ กฎหมาย: ตกลง แต่ไม่มีรายการที่รอคิดว่าคุณอาจต้องการลบคำถามเพราะคำถาม & คำตอบอาจไม่เป็นประโยชน์ / น่าสนใจ ;-)
Drew

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