* long code blocks making Org Mode very slow
@ 2015-07-14 18:15 Angus M
2015-07-14 19:41 ` Sebastien Vauban
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Angus M @ 2015-07-14 18:15 UTC (permalink / raw)
To: emacs-orgmode
I'm trying to run a long Python code block (~4000 lines) in org mode. The
code is sandwiched between:
#+begin_src python
<python code block>
#+end_src
It runs fine, but org mode becomes incredibly slow - when typing text there
is about a 10 second delay before the character appears on the screen. If I
reduce the number of lines of code in the block there is a noticeable
increase in speed.
I am not using line numbers, and the delay is not ameliorated by turning off
fontification.
If I add a semi-colon before #+begin_src, to comment it off (get rid of src
environment), then org mode returns to it's normal speed.
Do I just have to accept that long code blocks can't be entered into Org Mode?
Any help would be appreciated. I am running Org Mode (version 8.2.10) on
Windows 8.
Thanks
Angus M
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-14 18:15 long code blocks making Org Mode very slow Angus M
@ 2015-07-14 19:41 ` Sebastien Vauban
2015-07-14 21:06 ` Angus M
2015-07-14 21:44 ` Nick Dokos
2015-07-15 12:22 ` Angus M
2 siblings, 1 reply; 12+ messages in thread
From: Sebastien Vauban @ 2015-07-14 19:41 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Angus M <anguscmelville-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
> I'm trying to run a long Python code block (~4000 lines) in org mode. The
> code is sandwiched between:
> #+begin_src python
> <python code block>
> #+end_src
>
> It runs fine, but org mode becomes incredibly slow - when typing text there
> is about a 10 second delay before the character appears on the screen. If I
> reduce the number of lines of code in the block there is a noticeable
> increase in speed.
>
> I am not using line numbers, and the delay is not ameliorated by turning off
> fontification.
>
> If I add a semi-colon before #+begin_src, to comment it off (get rid of src
> environment), then org mode returns to it's normal speed.
The best thing to do, now, is run the profiler:
M-x profiler-start
... type one character (which takes 10 s to be rendered)
M-x profiler-report
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-14 19:41 ` Sebastien Vauban
@ 2015-07-14 21:06 ` Angus M
0 siblings, 0 replies; 12+ messages in thread
From: Angus M @ 2015-07-14 21:06 UTC (permalink / raw)
To: emacs-orgmode
Sebastien Vauban <sva-news@...> writes:
>
> Angus M <anguscmelville@...> writes:
> > I'm trying to run a long Python code block (~4000 lines) in org mode. The
> > code is sandwiched between:
> > #+begin_src python
> > <python code block>
> > #+end_src
> >
> > It runs fine, but org mode becomes incredibly slow - when typing text there
> > is about a 10 second delay before the character appears on the screen. If I
> > reduce the number of lines of code in the block there is a noticeable
> > increase in speed.
> >
> > I am not using line numbers, and the delay is not ameliorated by turning off
> > fontification.
> >
> > If I add a semi-colon before #+begin_src, to comment it off (get rid of src
> > environment), then org mode returns to it's normal speed.
>
> The best thing to do, now, is run the profiler:
>
> M-x profiler-start
> ... type one character (which takes 10 s to be rendered)
> M-x profiler-report
>
> Best regards,
> Seb
>
Many thanks.
I've run the profiler, but am not quite sure what to make of the result
(fully expanded):
- ... 1199 99%
- while 1194 98%
- cond 1194 98%
- setq 1194 98%
- org-footnote-at-reference-p 1194 98%
- if 1194 98%
- save-excursion 1179 97%
- org-footnote-in-valid-context-p 1179 97%
- let 1179 97%
- unwind-protect 1179 97%
- progn 1179 97%
- not 1179 97%
- or 1179 97%
- org-in-block-p 1177 97%
- let 1177 97%
- unwind-protect 1177 97%
- progn 1177 97%
- catch 1177 97%
- let 1177 97%
- mapc 1168 96%
- #<lambda 0x1bd609a3> 1168 96%
- let 1168 96%
- if 1168 96%
- org-between-regexps-p 1168 96%
- let 1168 96%
- unwind-protect 1168 96%
- progn 1167 96%
- let 1167 96%
- or 672 55%
- save-excursion 672 55%
outline-next-heading 478 39%
outline-previous-heading 193 15%
- save-excursion 495 40%
- and 495 40%
- or 291 24%
- org-at-regexp-p 1 0%
- catch 1 0%
- save-excursion 1 0%
let 1 0%
not 115 9%
- save-excursion 9 0%
outline-previous-heading 8 0%
outline-next-heading 1 0%
- org-in-verbatim-emphasis 2 0%
- let 2 0%
- unwind-protect 2 0%
- progn 2 0%
- and 2 0%
- org-in-regexp 2 0%
- catch 2 0%
- let 2 0%
- save-excursion 1 0%
- beginning-of-line 1 0%
- 1 0%
- and 15 1%
- org-footnote-in-valid-context-p 15 1%
- let 15 1%
- unwind-protect 15 1%
- progn 15 1%
- not 15 1%
- or 15 1%
- org-in-block-p 14 1%
- let 14 1%
- unwind-protect 14 1%
- progn 14 1%
- catch 14 1%
- let 14 1%
- save-excursion 14 1%
outline-previous-heading 10 0%
outline-next-heading 4 0%
- org-in-verbatim-emphasis 1 0%
- let 1 0%
- unwind-protect 1 0%
progn 1 0%
Automatic GC 5 0%
- redisplay_internal (C function) 10 0%
- jit-lock-function 10 0%
- jit-lock-fontify-now 10 0%
- funcall 10 0%
- #<compiled 0xf18aef> 10 0%
- run-hook-with-args 10 0%
- font-lock-fontify-region 10 0%
- font-lock-default-fontify-region 10 0%
- font-lock-fontify-keywords-region 9 0%
- org-activate-plain-links 2 0%
- let 2 0%
- if 2 0%
and 2 0%
- font-lock-unfontify-region 1 0%
- org-unfontify-region 1 0%
let* 1 0%
- command-execute 2 0%
- call-interactively 2 0%
- byte-code 2 0%
- read-extended-command 2 0%
- completing-read 2 0%
- completing-read-default 2 0%
read-from-minibuffer 1 0%
It seems to checking for a footnote reference. Is this anything out of the
ordinary? My text contains no footnotes. Any pointers in the right
direction greatly appreciated.
Thanks
Angus M
P.s. This problem still occurs with only the basic 'starter' org mode
.emacs init file.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-14 18:15 long code blocks making Org Mode very slow Angus M
2015-07-14 19:41 ` Sebastien Vauban
@ 2015-07-14 21:44 ` Nick Dokos
2015-07-14 23:39 ` Angus M
2015-07-15 12:22 ` Angus M
2 siblings, 1 reply; 12+ messages in thread
From: Nick Dokos @ 2015-07-14 21:44 UTC (permalink / raw)
To: emacs-orgmode
Angus M <anguscmelville@gmail.com> writes:
> I'm trying to run a long Python code block (~4000 lines) in org mode. The
> code is sandwiched between:
> #+begin_src python
> <python code block>
> #+end_src
>
> It runs fine, but org mode becomes incredibly slow - when typing text there
> is about a 10 second delay before the character appears on the screen. If I
> reduce the number of lines of code in the block there is a noticeable
> increase in speed.
>
That's because a) emacs is single-threaded and b) babel blocks are
executed synchronously. emacs waits for the code block to finish
executing before going on with its business.
See e.g. the thread at
http://article.gmane.org/gmane.emacs.orgmode/83704
> I am not using line numbers, and the delay is not ameliorated by turning off
> fontification.
>
> If I add a semi-colon before #+begin_src, to comment it off (get rid of src
> environment), then org mode returns to it's normal speed.
>
> Do I just have to accept that long code blocks can't be entered into Org Mode?
>
Now I'm confused: are you executing the code block or aren't you?
IIUC, code blocks can be of arbitrary length: but if you try to run one, you
gotta wait till it finishes. Is that what you are complaining about or
do you see something else?
> Any help would be appreciated. I am running Org Mode (version 8.2.10) on
> Windows 8.
>
Nick
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-14 21:44 ` Nick Dokos
@ 2015-07-14 23:39 ` Angus M
0 siblings, 0 replies; 12+ messages in thread
From: Angus M @ 2015-07-14 23:39 UTC (permalink / raw)
To: emacs-orgmode
Nick Dokos <ndokos <at> gmail.com> writes:
Many thanks for your help Nick - see comments below
> > I'm trying to run a long Python code block (~4000 lines) in org mode. The
> > code is sandwiched between:
> > #+begin_src python
> > <python code block>
> > #+end_src
> >
> > It runs fine, but org mode becomes incredibly slow - when typing text there
> > is about a 10 second delay before the character appears on the screen. If I
> > reduce the number of lines of code in the block there is a noticeable
> > increase in speed.
> >
>
> That's because a) emacs is single-threaded and b) babel blocks are
> executed synchronously. emacs waits for the code block to finish
> executing before going on with its business.
Perhaps I should have been clearer: org mode is incredibly slow to respond
(to a key press or to scrolling) even before a block is executed. It is not
an issue with waiting for a code block to finish executing.
> > I am not using line numbers, and the delay is not ameliorated by turning off
> > fontification.
> >
> > If I add a semi-colon before #+begin_src, to comment it off (get rid of src
> > environment), then org mode returns to it's normal speed.
> >
> > Do I just have to accept that long code blocks can't be entered into Org
Mode?
> >
>
> Now I'm confused: are you executing the code block or aren't you?
>
> IIUC, code blocks can be of arbitrary length: but if you try to run one, you
> gotta wait till it finishes. Is that what you are complaining about or
> do you see something else?
No, I wasn't executing the code block. I just wanted to point out that the
org mode slow down was only when the system could see that the long code
block was present, i.e. by removing the src environment, by commenting off
the #+begin_src marker, the delay disappeared.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-14 18:15 long code blocks making Org Mode very slow Angus M
2015-07-14 19:41 ` Sebastien Vauban
2015-07-14 21:44 ` Nick Dokos
@ 2015-07-15 12:22 ` Angus M
2015-07-17 1:10 ` Grant Rettke
2 siblings, 1 reply; 12+ messages in thread
From: Angus M @ 2015-07-15 12:22 UTC (permalink / raw)
To: emacs-orgmode
I've just discovered that the slow-response is definitely related to font
locking. If I type M-x font-lock-mode to toggle it off then the typing lag
problem is solved.
According to the Emacs documentation:
'In Emacs 21 and later, turning on font-lock-mode automatically activates
the new Just-In-Time fontification provided by jit-lock-mode.'
It would appear, therefore, that just-in-time fontification is not taking
place in the code block with the whole code block being fontified at once -
and hence the delay.
Any help to confirm this hypothesis and how to enable just-in-time
fontification in the code block would be appreciated.
Angus M
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-15 12:22 ` Angus M
@ 2015-07-17 1:10 ` Grant Rettke
2015-07-21 11:09 ` Angus M
0 siblings, 1 reply; 12+ messages in thread
From: Grant Rettke @ 2015-07-17 1:10 UTC (permalink / raw)
To: Angus M; +Cc: emacs-orgmode@gnu.org
Post a Gist of your file so I can try it out.
What is you value of `org-src-fontify-natively'?
Grant Rettke
--
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
“All creativity is an extended form of a joke.” --Kay
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson
On Wed, Jul 15, 2015 at 7:22 AM, Angus M <anguscmelville@gmail.com> wrote:
> I've just discovered that the slow-response is definitely related to font
> locking. If I type M-x font-lock-mode to toggle it off then the typing lag
> problem is solved.
>
> According to the Emacs documentation:
> 'In Emacs 21 and later, turning on font-lock-mode automatically activates
> the new Just-In-Time fontification provided by jit-lock-mode.'
>
> It would appear, therefore, that just-in-time fontification is not taking
> place in the code block with the whole code block being fontified at once -
> and hence the delay.
>
> Any help to confirm this hypothesis and how to enable just-in-time
> fontification in the code block would be appreciated.
>
> Angus M
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-17 1:10 ` Grant Rettke
@ 2015-07-21 11:09 ` Angus M
2015-07-22 1:20 ` Grant Rettke
0 siblings, 1 reply; 12+ messages in thread
From: Angus M @ 2015-07-21 11:09 UTC (permalink / raw)
To: emacs-orgmode
> Post a Gist of your file so I can try it out.
>
> What is you value of `org-src-fontify-natively'?
> Grant Rettke
> --
> gcr <at> wisdomandwonder.com | http://www.wisdomandwonder.com/
> “Wisdom begins in wonder.” --Socrates
> “All creativity is an extended form of a joke.” --Kay
> ((λ (x) (x x)) (λ (x) (x x)))
> “Life has become immeasurably better since I have been forced to stop
> taking it seriously.” --Thompson
>
> On Wed, Jul 15, 2015 at 7:22 AM, Angus M <anguscmelville <at> gmail.com>
wrote:
> > I've just discovered that the slow-response is definitely related to font
> > locking. If I type M-x font-lock-mode to toggle it off then the typing lag
> > problem is solved.
> >
> > According to the Emacs documentation:
> > 'In Emacs 21 and later, turning on font-lock-mode automatically activates
> > the new Just-In-Time fontification provided by jit-lock-mode.'
> >
> > It would appear, therefore, that just-in-time fontification is not taking
> > place in the code block with the whole code block being fontified at once -
> > and hence the delay.
> >
> > Any help to confirm this hypothesis and how to enable just-in-time
> > fontification in the code block would be appreciated.
> >
> > Angus M
Thanks for your help.
Any script of a significant length sandwiched as a snippet in org mode between:
#+begin_src python
[code]
#+end_src
causes the slow-down.
For example the (arbitrarily chosen) file argparse.py found at
https://code.google.com/p/argparse
/downloads/detail?name=argparse-1.2.1.tar.gz&can=2&q=
is 2400 lines long, and causes a lag of about 1 or 2 seconds for a character
to appear on the screen after a key press.
The issue is not to do with running the script, (which I haven't tried with
this example).
My value for org-src-fontify-natively:
(setq org-src-fontify-natively t)
This issue is of less importance to me now as I think it probably makes
sense to run any script of significant length as a stand-alone 'python mode'
file, which I'm now doing - rather than as a snippet in 'org mode'.
Therefore unless you're curious to solve this problem for its own sake,
please don't invest any significant time on trying to sort it out on my
behalf. Thanks!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-21 11:09 ` Angus M
@ 2015-07-22 1:20 ` Grant Rettke
2015-07-22 10:09 ` Angus M
0 siblings, 1 reply; 12+ messages in thread
From: Grant Rettke @ 2015-07-22 1:20 UTC (permalink / raw)
To: Angus M; +Cc: emacs-orgmode@gnu.org
When I have the cursor inside of the code block for the code, moving
up or done one line or one page takes 2-3 seconds.
Grant Rettke
--
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
“All creativity is an extended form of a joke.” --Kay
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson
On Tue, Jul 21, 2015 at 6:09 AM, Angus M <anguscmelville@gmail.com> wrote:
>> Post a Gist of your file so I can try it out.
>>
>> What is you value of `org-src-fontify-natively'?
>
>> Grant Rettke
>> --
>> gcr <at> wisdomandwonder.com | http://www.wisdomandwonder.com/
>> “Wisdom begins in wonder.” --Socrates
>> “All creativity is an extended form of a joke.” --Kay
>> ((λ (x) (x x)) (λ (x) (x x)))
>> “Life has become immeasurably better since I have been forced to stop
>> taking it seriously.” --Thompson
>>
>> On Wed, Jul 15, 2015 at 7:22 AM, Angus M <anguscmelville <at> gmail.com>
> wrote:
>> > I've just discovered that the slow-response is definitely related to font
>> > locking. If I type M-x font-lock-mode to toggle it off then the typing lag
>> > problem is solved.
>> >
>> > According to the Emacs documentation:
>> > 'In Emacs 21 and later, turning on font-lock-mode automatically activates
>> > the new Just-In-Time fontification provided by jit-lock-mode.'
>> >
>> > It would appear, therefore, that just-in-time fontification is not taking
>> > place in the code block with the whole code block being fontified at once -
>> > and hence the delay.
>> >
>> > Any help to confirm this hypothesis and how to enable just-in-time
>> > fontification in the code block would be appreciated.
>> >
>> > Angus M
>
> Thanks for your help.
>
> Any script of a significant length sandwiched as a snippet in org mode between:
> #+begin_src python
> [code]
> #+end_src
>
> causes the slow-down.
>
> For example the (arbitrarily chosen) file argparse.py found at
> https://code.google.com/p/argparse
> /downloads/detail?name=argparse-1.2.1.tar.gz&can=2&q=
> is 2400 lines long, and causes a lag of about 1 or 2 seconds for a character
> to appear on the screen after a key press.
>
> The issue is not to do with running the script, (which I haven't tried with
> this example).
>
> My value for org-src-fontify-natively:
> (setq org-src-fontify-natively t)
>
> This issue is of less importance to me now as I think it probably makes
> sense to run any script of significant length as a stand-alone 'python mode'
> file, which I'm now doing - rather than as a snippet in 'org mode'.
> Therefore unless you're curious to solve this problem for its own sake,
> please don't invest any significant time on trying to sort it out on my
> behalf. Thanks!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-22 1:20 ` Grant Rettke
@ 2015-07-22 10:09 ` Angus M
2015-07-22 12:41 ` Nick Dokos
0 siblings, 1 reply; 12+ messages in thread
From: Angus M @ 2015-07-22 10:09 UTC (permalink / raw)
To: emacs-orgmode
> When I have the cursor inside of the code block for the code, moving
> up or done one line or one page takes 2-3 seconds.
> Grant Rettke
> --
Thanks for confirming that you also experience the slow-down.
I think that the only way to remedy this is to modify the
'org-src-font-lock-fontify-block' function in org-src.el to allow
just-in-time fontification, (rather than the current complete
re-fontification of the whole code block upon any changes).
Does anyone know of a list of 'nice-to-have' features that this could be
added to to allow possible development sometime in the future?
(Unfortunately I am new to eLisp, and so making such changes is currently
beyond my capabilities.)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-22 10:09 ` Angus M
@ 2015-07-22 12:41 ` Nick Dokos
2015-07-22 23:09 ` Grant Rettke
0 siblings, 1 reply; 12+ messages in thread
From: Nick Dokos @ 2015-07-22 12:41 UTC (permalink / raw)
To: emacs-orgmode
Angus M <anguscmelville@gmail.com> writes:
>> When I have the cursor inside of the code block for the code, moving
>> up or done one line or one page takes 2-3 seconds.
>> Grant Rettke
>> --
>
> Thanks for confirming that you also experience the slow-down.
>
> I think that the only way to remedy this is to modify the
> 'org-src-font-lock-fontify-block' function in org-src.el to allow
> just-in-time fontification, (rather than the current complete
> re-fontification of the whole code block upon any changes).
>
I'm not convinced that this is the reason. I tried with a simple file
(a headline, some text, a source code block with 7K lines of python -
the decimal.py file from the standard python library - and some more
text).
I set org-src-fontify-natively to nil (through a local variable in
the file). Adding text after the code block was OK but adding text
before the code block was very slow. If fontification were the problem,
I'd expect both to be fast.
I did a profile with elp and it seems to me that the problem is footnote
detection:
--8<---------------cut here---------------start------------->8---
org-activate-footnote-links 7 13.397064245 1.9138663207
org-footnote-next-reference-or-definition 7 13.396982566 1.9138546524
org-footnote-in-valid-context-p 378 13.384084804 0.0354076317
org-in-block-p 322 13.146482877 0.0408275865
org-between-regexps-p 2576 12.544080215 0.0048695963
org-footnote-at-reference-p 189 6.7601071689 0.0357677627
org-footnote-at-definition-p 189 6.6263815400 0.0350602197
org-element--parse-to 15 0.41858634 0.027905756
org-element--cache-sync 18 0.3965463360 0.0220303520
org-fontify-meta-lines-and-blocks 14 0.3946110120 0.0281865008
org-fontify-meta-lines-and-blocks-1 14 0.3944775729 0.0281769695
org-element--current-element 7 0.3642047120 0.0520292445
...
--8<---------------cut here---------------end--------------->8---
I didn't check how org-between-regexps-p and org-footnote-at-*-p are
related, but those three seem to account for the lion's share of the
time.
BTW, org-src-font-lock-fontify-block calls font-lock-fontify-buffer
which is not supposed to be called from lisp programs: the doc string
suggests using font-lock-ensure or font-lock-flush. I tried the first
but it did not make any difference in the speed. But I guess it should
be changed.
--
Nick
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: long code blocks making Org Mode very slow
2015-07-22 12:41 ` Nick Dokos
@ 2015-07-22 23:09 ` Grant Rettke
0 siblings, 0 replies; 12+ messages in thread
From: Grant Rettke @ 2015-07-22 23:09 UTC (permalink / raw)
To: Nick Dokos; +Cc: emacs-orgmode@gnu.org
I will play around with it. I didn't try to do a ECM.
Playing around with it tonight starting with
open /Applications/Emacs.app --new --args -Q
So using 8.2.10.
Sometimes I can get a slow down when calling `next-line' repeatedly.
I will play around with it and report if I get something reproducible
and an ECM.
Grant Rettke
--
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
“All creativity is an extended form of a joke.” --Kay
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson
On Wed, Jul 22, 2015 at 7:41 AM, Nick Dokos <ndokos@gmail.com> wrote:
> Angus M <anguscmelville@gmail.com> writes:
>
>>> When I have the cursor inside of the code block for the code, moving
>>> up or done one line or one page takes 2-3 seconds.
>>> Grant Rettke
>>> --
>>
>> Thanks for confirming that you also experience the slow-down.
>>
>> I think that the only way to remedy this is to modify the
>> 'org-src-font-lock-fontify-block' function in org-src.el to allow
>> just-in-time fontification, (rather than the current complete
>> re-fontification of the whole code block upon any changes).
>>
>
> I'm not convinced that this is the reason. I tried with a simple file
> (a headline, some text, a source code block with 7K lines of python -
> the decimal.py file from the standard python library - and some more
> text).
>
> I set org-src-fontify-natively to nil (through a local variable in
> the file). Adding text after the code block was OK but adding text
> before the code block was very slow. If fontification were the problem,
> I'd expect both to be fast.
>
> I did a profile with elp and it seems to me that the problem is footnote
> detection:
>
> --8<---------------cut here---------------start------------->8---
> org-activate-footnote-links 7 13.397064245 1.9138663207
> org-footnote-next-reference-or-definition 7 13.396982566 1.9138546524
> org-footnote-in-valid-context-p 378 13.384084804 0.0354076317
> org-in-block-p 322 13.146482877 0.0408275865
> org-between-regexps-p 2576 12.544080215 0.0048695963
> org-footnote-at-reference-p 189 6.7601071689 0.0357677627
> org-footnote-at-definition-p 189 6.6263815400 0.0350602197
> org-element--parse-to 15 0.41858634 0.027905756
> org-element--cache-sync 18 0.3965463360 0.0220303520
> org-fontify-meta-lines-and-blocks 14 0.3946110120 0.0281865008
> org-fontify-meta-lines-and-blocks-1 14 0.3944775729 0.0281769695
> org-element--current-element 7 0.3642047120 0.0520292445
> ...
> --8<---------------cut here---------------end--------------->8---
>
> I didn't check how org-between-regexps-p and org-footnote-at-*-p are
> related, but those three seem to account for the lion's share of the
> time.
>
> BTW, org-src-font-lock-fontify-block calls font-lock-fontify-buffer
> which is not supposed to be called from lisp programs: the doc string
> suggests using font-lock-ensure or font-lock-flush. I tried the first
> but it did not make any difference in the speed. But I guess it should
> be changed.
>
> --
> Nick
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-07-22 23:09 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-14 18:15 long code blocks making Org Mode very slow Angus M
2015-07-14 19:41 ` Sebastien Vauban
2015-07-14 21:06 ` Angus M
2015-07-14 21:44 ` Nick Dokos
2015-07-14 23:39 ` Angus M
2015-07-15 12:22 ` Angus M
2015-07-17 1:10 ` Grant Rettke
2015-07-21 11:09 ` Angus M
2015-07-22 1:20 ` Grant Rettke
2015-07-22 10:09 ` Angus M
2015-07-22 12:41 ` Nick Dokos
2015-07-22 23:09 ` Grant Rettke
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).