практичні обмеження щодо розміру файлу в режимі org?


13

У мене є файл org-mode, який містить близько 6000 рядків із сотнею заголовок верхнього рівня. На завантаження чи збереження це зайняло близько хвилини, а іноді він надсилає emacs у бур'ян, і мені доводиться змушувати його кидати.

Хтось із вас вважає, що це занадто великий файл, щоб обробляти його практично в org-режимі? Чи маєте ви досвід роботи з більшими файлами? Чи відчуваєте ви однакові затримки? Або я повинен шукати в іншому місці причини повільності, як і всі інші пакети Emacs, які я встановив? Можливо, я просто прошу занадто багато emacs взагалі.

Це з домашніми програмами emacs 24.4 на Mac OS X Mavericks.


2
Ви використовуєте щось інше разом із цим, наприклад linum-mode? Які ще спеціальні мінорні режими активні (якщо такі є)?
законник

У мене занадто багато, щоб перерахувати ... Я почав з emacs-live (панель інструментів clojure) і безладно завантажував кожен цікавий на вигляд пакет, який я міг би знайти в ельпі та мармеладі. Я збираюся зробити тест із голою установкою emacs; якщо org-режим працює нормально, я почну розбивати свої пакунки. Можливо, вдалий час для початку.
Reb.Cabin

2
Цей файл не надто великий для обробки. Я маю досвід роботи з файлом рядків 7000 github.com/grettke/home/blob/master/ALEC.org та дуже мало заголовків. Я не відчуваю навантаження або зберігаю повільність. Я уповільнююсь, коли згортаю заголовки, тому біжу #+STARTUP: showeverything. У вас є найновіший Emacs, який постачається з найновішим орга-режимом. Запустіть Emacs emacs -Qі повільно додайте назад пакети, щоб звузити неприйнятний пакет, сповільнюючи роботу. Я на emacs "24.4.1" та "8.2.10" та org.
grettke

Відповіді:


18

Однією з менш відомих особливостей Emacs є те, що він має профілер! Припустимо, ваш файл називається foo.org, тоді ви можете це зробити:

M-xprofiler-start

C-x ffoo.org

M-xprofiler-report

Після того, як ви зробите все, що Emacs з'явиться буфер зі статистикою щодо використання процесора (ви також можете вибрати профіль пам'яті або CPU і пам'ять, коли ви запускаєте профайлер). Це повинно дати вам декілька підказок щодо того, які функції потребують часу для виконання.


Здається, якщо мій буфер налічує понад 7 к рядків, він робить надзвичайно довгі паузи. Чи знаєте ви, чому це так?
user8128167

@ user89861 Першим моїм здогадком було б фентифікація, але без спроб профайлу важко сказати.
wvxvw

Добре, це я отримую для звіту про профілі: + таймер-подія-обробник 408694 96% + команда-виконання 14634 3% + ... 1480 0% + redisplay_internal (функція C) 183 0% + пошук-попередня команда -чіп 1 0%
користувач8128167

@ user89861 подивіться, чи будь-яка з цих двох змінних: stackoverflow.com/a/11670718/5691066 дасть вам підказку, на якому таймері він працює.
wvxvw

3

Я позбавив кожен пакунок із свого середовища emacs, і тепер в режимі org працює нормально мій файл з 6000 рядками.

Якась інша річ, яку я завантажила, викликала проблему. Мені доведеться розбивати установки мого пакета, щоб зрозуміти, що це таке, але зараз org-mode здається нормальним.


Зробив свіжу установку emacs-live - це не викликало проблем.
Reb.Cabin

Якщо на ваше запитання відповіли задовільно і вам не потрібні додаткові відповіді, будь ласка, прийміть свою відповідь, щоб це було вилучено зі списку питань без відповіді.
Дрю

@Drew - Існує період очікування, щоб прийняти власну відповідь - приблизно 36 або 48 годин.
законник

1
@lawlist: Гаразд. Але немає списку очікувань на роздуми над тим, чи не хочете ви просто видалити питання, оскільки запитання й відповіді можуть бути не настільки корисними / цікавими. ;-)
Дрю

3
питання виявило цікавий момент про профілера, тому питання було корисною стороною / ефектом :)
Reb.Cabin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.