组织模式文件大小的实际限制?


13

我有一个组织模式文件,该文件运行约6,000行,其中包含约一百个顶级标题。它开始需要大约一分钟的时间来加载或保存,有时它会将emacs发送到杂草中,我不得不强行退出。

你们中有人认为这个文件太大而无法在组织模式下处理吗?您是否有使用大文件的经验?您是否遇到相同类型的延迟?还是应该像其他我安装的其他emacs软件包一样,在其他地方寻找导致速度慢的原因?也许我只是在问太多emacs。

这是Mac OS X Mavericks上的自制emacs 24.4。


2
您是否还在使用其他东西,例如linum-mode?还有哪些其他特殊的次要模式处于活动状态(如果有)?
法律列表

我要列出的东西太多了……我从emacs-live(clojure工具箱)开始,并且混杂地加载了我可以在elpa和橘子果酱中找到的每个看起来有趣的包。我将使用裸emacs安装进行测试;如果org-mode可以正常工作,那么我将对分我的软件包。可能是重新开始的好时机。
Reb.Cabin 2014年

2
这个文件是不是太大处理。我有7000行文件github.com/grettke/home/blob/master/ALEC.org的经验,并且标题很少。我没有负载或保存速度缓慢。收起标题时我会放慢脚步,所以我跑了#+STARTUP: showeverything。您拥有最新的Emacs,它带有最新的组织模式。从Emacs开始,emacs -Q然后慢慢添加回软件包,以缩小令人讨厌的软件包的速度。我在“ 24.4.1”和“ 8.2.10” emacs和org上。
grettke 2014年

Answers:


18

Emacs鲜为人知的功能之一是它具有分析器!假设您的文件名为foo.org,那么您可以执行以下操作:

M-xprofiler-start

C-x ffoo.org

M-xprofiler-report

完成所有这些操作后,Emacs将弹出一个缓冲区,其中包含有关CPU使用情况的统计信息(在启动事件探查器时,您也可以选择探查内存或同时探查CPU和内存)。这应该为您提供一些线索,说明哪些函数需要最多时间才能执行。


看来,如果我的缓冲区的行数超过7k,则它的停顿时间会非常长。你知道为什么会这样吗?
user8128167'9

@ user89861我的第一个猜想是字体化,但是如果不进行概要分析,这很难说。
wvxvw

好的,这是我得到的探查器报告的内容:+计时器事件处理程序408694 96%+命令执行14634 3%+ ... 1480 0%+ redisplay_internal(C函数)183 0%+ isearch-pre-command钩1 0%
user8128167 '16

@ user89861查看是否这两个变量中的任何一个:stackoverflow.com/a/11670718/5691066将提示您运行哪个计时器。
wvxvw

3

我从emacs环境中剥离了每个软件包,现在org-mode在6,000行文件中可以正常运行。

我加载的其他东西引起了问题。我必须将软件包安装一分为二以弄清楚它是什么,但是现在org-mode看起来还不错。


重新安装了emacs-live,但这并没有引起问题。
Reb.Cabin 2014年

如果您的问题得到了满意的回答,并且您不需要其他答案,请考虑接受您的回答,以便将其从未回答的问题列表中删除。
Drew

@Drew-有一个等待时间来接受自己的答案-大约36或48个小时。
法律列表

1
@lawlist:好的。但是,没有任何等待您考虑是否要删除问题的等待清单,因为问答可能不会那么有帮助/有趣。;-)
Drew

3
该问题发掘出有关探查器的有趣观点,因此该问题具有有益的副作用:)
Reb.Cabin 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.