* Very slow execution, tangling and export with noweb and quick-and-dirty
@ 2015-09-01 9:47 Rainer M Krug
2015-09-01 10:00 ` Rainer M Krug
0 siblings, 1 reply; 4+ messages in thread
From: Rainer M Krug @ 2015-09-01 9:47 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 5218 bytes --]
Hi
I have a rather extensive literate programming document with several
hundred code blocks. In two subtrees, I use :noweb. Each of these has one
noweb block which is located onder the first level header, and used several
times in the sub-sections of this tree.
But even with the quick-and-dirty option
,----
| #+BIND: org-babel-use-quick-and-dirty-noweb-expansion "t"
`----
execution, tangling and export takes very long (one block about 12
seconds, of which about 2 seconde=s max execution time of the code block).
Is this a general problem of noweb expansion? How can I make this
faster?
I really want to use the noweb, because the block is rather dynamic and
used several times in the subrtree.
Below the report from the profiler.
Any suggestions welcome,
Rainer
,----
| - command-execute 2024 90%
| - call-interactively 2024 90%
| - org-ctrl-c-ctrl-c 1966 88%
| - run-hook-with-args-until-success 1966 88%
| - org-babel-execute-safely-maybe 1966 88%
| - org-babel-execute-maybe 1966 88%
| - org-babel-execute-src-block-maybe 1966 88%
| - org-babel-execute-src-block 1966 88%
| - org-babel-expand-noweb-references 1890 84%
| - org-babel-get-src-block-info 1884 84%
| - org-babel-parse-src-block-match 1680 75%
| - org-babel-params-from-properties 1667 74%
| - mapcar 1602 71%
| - #<compiled 0x41e1ae65> 1601 71%
| - org-entry-get 1598 71%
| - org-entry-get-with-inheritance 1576 70%
| - byte-code 1575 70%
| - org-up-heading-safe 1006 45%
| - org-back-to-heading 109 4%
| - outline-back-to-heading 56 2%
| outline-on-heading-p 7 0%
| org-outline-level 61 2%
| - org-property--local-values 515 23%
| - org-get-property-block 351 15%
| - org-back-to-heading 69 3%
| - outline-back-to-heading 46 2%
| outline-on-heading-p 9 0%
| org-before-first-heading-p 45 2%
| member-ignore-case 5 0%
| + org-entry-properties 2 0%
| + org-entry-get 50 2%
| + org-babel-parse-header-arguments 11 0%
| org-babel-combine-header-arg-lists 1 0%
| byte-code 1 0%
| + org-babel-parse-header-arguments 5 0%
| + apply 4 0%
| + org-unescape-code-in-string 2 0%
| generate-new-buffer 1 0%
| match-string-no-properties 1 0%
| + org-babel-generate-file-param 201 9%
| + org-babel-where-is-src-block-head 1 0%
| + org-babel-ref-goto-headline-id 2 0%
| + org-babel-execute:R 58 2%
| + org-babel-get-src-block-info 10 0%
| + run-hooks 7 0%
| + org-babel-insert-result 1 0%
| + smex 58 2%
| + ... 200 8%
| + timer-event-handler 4 0%
| + redisplay_internal (C function) 2 0%
| + flyspell-post-command-hook 2 0%
`----
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 480 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Very slow execution, tangling and export with noweb and quick-and-dirty
2015-09-01 9:47 Very slow execution, tangling and export with noweb and quick-and-dirty Rainer M Krug
@ 2015-09-01 10:00 ` Rainer M Krug
2015-09-01 10:25 ` Sebastien Vauban
0 siblings, 1 reply; 4+ messages in thread
From: Rainer M Krug @ 2015-09-01 10:00 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 5619 bytes --]
Rainer M Krug <Rainer@krugs.de> writes:
> Hi
>
> I have a rather extensive literate programming document with several
> hundred code blocks. In two subtrees, I use :noweb. Each of these has one
> noweb block which is located onder the first level header, and used several
> times in the sub-sections of this tree.
>
> But even with the quick-and-dirty option
>
> ,----
> | #+BIND: org-babel-use-quick-and-dirty-noweb-expansion "t"
> `----
>
Hm - I just realised that despite having this #+BIND: in the file, the
variable was not set. I set it manually now, and it is fast again.
Shouldn't this BIND set the variable to true?
Rainer
> execution, tangling and export takes very long (one block about 12
> seconds, of which about 2 seconde=s max execution time of the code block).
>
> Is this a general problem of noweb expansion? How can I make this
> faster?
>
> I really want to use the noweb, because the block is rather dynamic and
> used several times in the subrtree.
>
> Below the report from the profiler.
>
> Any suggestions welcome,
>
> Rainer
>
>
> ,----
> | - command-execute 2024 90%
> | - call-interactively 2024 90%
> | - org-ctrl-c-ctrl-c 1966 88%
> | - run-hook-with-args-until-success 1966 88%
> | - org-babel-execute-safely-maybe 1966 88%
> | - org-babel-execute-maybe 1966 88%
> | - org-babel-execute-src-block-maybe 1966 88%
> | - org-babel-execute-src-block 1966 88%
> | - org-babel-expand-noweb-references 1890 84%
> | - org-babel-get-src-block-info 1884 84%
> | - org-babel-parse-src-block-match 1680 75%
> | - org-babel-params-from-properties 1667 74%
> | - mapcar 1602 71%
> | - #<compiled 0x41e1ae65> 1601 71%
> | - org-entry-get 1598 71%
> | - org-entry-get-with-inheritance 1576 70%
> | - byte-code 1575 70%
> | - org-up-heading-safe 1006 45%
> | - org-back-to-heading 109 4%
> | - outline-back-to-heading 56 2%
> | outline-on-heading-p 7 0%
> | org-outline-level 61 2%
> | - org-property--local-values 515 23%
> | - org-get-property-block 351 15%
> | - org-back-to-heading 69 3%
> | - outline-back-to-heading 46 2%
> | outline-on-heading-p 9 0%
> | org-before-first-heading-p 45 2%
> | member-ignore-case 5 0%
> | + org-entry-properties 2 0%
> | + org-entry-get 50 2%
> | + org-babel-parse-header-arguments 11 0%
> | org-babel-combine-header-arg-lists 1 0%
> | byte-code 1 0%
> | + org-babel-parse-header-arguments 5 0%
> | + apply 4 0%
> | + org-unescape-code-in-string 2 0%
> | generate-new-buffer 1 0%
> | match-string-no-properties 1 0%
> | + org-babel-generate-file-param 201 9%
> | + org-babel-where-is-src-block-head 1 0%
> | + org-babel-ref-goto-headline-id 2 0%
> | + org-babel-execute:R 58 2%
> | + org-babel-get-src-block-info 10 0%
> | + run-hooks 7 0%
> | + org-babel-insert-result 1 0%
> | + smex 58 2%
> | + ... 200 8%
> | + timer-event-handler 4 0%
> | + redisplay_internal (C function) 2 0%
> | + flyspell-post-command-hook 2 0%
> `----
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 480 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Very slow execution, tangling and export with noweb and quick-and-dirty
2015-09-01 10:00 ` Rainer M Krug
@ 2015-09-01 10:25 ` Sebastien Vauban
2015-09-01 11:24 ` Rainer M Krug
0 siblings, 1 reply; 4+ messages in thread
From: Sebastien Vauban @ 2015-09-01 10:25 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Rainer M Krug <Rainer-vfylz/Ys1k4@public.gmane.org> writes:
> Rainer M Krug <Rainer-vfylz/Ys1k4@public.gmane.org> writes:
>> I have a rather extensive literate programming document with several
>> hundred code blocks. In two subtrees, I use :noweb. Each of these has
>> one noweb block which is located onder the first level header, and
>> used several times in the sub-sections of this tree.
>>
>> But even with the quick-and-dirty option
>>
>> ,----
>> | #+BIND: org-babel-use-quick-and-dirty-noweb-expansion "t"
>> `----
>
> Hm - I just realised that despite having this #+BIND: in the file, the
> variable was not set. I set it manually now, and it is fast again.
>
> Shouldn't this BIND set the variable to true?
IIUC, `BIND' sets the variable to the value you're giving to it at
export-time only (in the temporary buffer created for the export
process).
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Very slow execution, tangling and export with noweb and quick-and-dirty
2015-09-01 10:25 ` Sebastien Vauban
@ 2015-09-01 11:24 ` Rainer M Krug
0 siblings, 0 replies; 4+ messages in thread
From: Rainer M Krug @ 2015-09-01 11:24 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]
Sebastien Vauban <sva-news@mygooglest.com> writes:
> Rainer M Krug <Rainer@krugs.de> writes:
>> Rainer M Krug <Rainer@krugs.de> writes:
>>> I have a rather extensive literate programming document with several
>>> hundred code blocks. In two subtrees, I use :noweb. Each of these has
>>> one noweb block which is located onder the first level header, and
>>> used several times in the sub-sections of this tree.
>>>
>>> But even with the quick-and-dirty option
>>>
>>> ,----
>>> | #+BIND: org-babel-use-quick-and-dirty-noweb-expansion "t"
>>> `----
>>
>> Hm - I just realised that despite having this #+BIND: in the file, the
>> variable was not set. I set it manually now, and it is fast again.
>>
>> Shouldn't this BIND set the variable to true?
>
> IIUC, `BIND' sets the variable to the value you're giving to it at
> export-time only (in the temporary buffer created for the export
> process).
OK - now I understand it. So I should also, in addition to the bind, use
a file local variable to set
org-babel-use-quick-and-dirty-noweb-expansion to true.
Done and working.
Thanks,
Rainer
>
> Best regards,
> Seb
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 480 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-09-01 11:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-01 9:47 Very slow execution, tangling and export with noweb and quick-and-dirty Rainer M Krug
2015-09-01 10:00 ` Rainer M Krug
2015-09-01 10:25 ` Sebastien Vauban
2015-09-01 11:24 ` Rainer M Krug
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).