emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [babel] speed of continued source blocks
@ 2011-12-10 23:30 Andreas Leha
  2011-12-11 16:53 ` Eric Schulte
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Leha @ 2011-12-10 23:30 UTC (permalink / raw)
  To: emacs-orgmode

Hi all,

there is a significant performance drop connected to (the quite old) commit
 8c37281cb63a0b5cb0d84d22960e3a33d7680d40
 ob-tangle: continued code blocks now implemented with the :noweb-ref header arg
which introduces the continued code blocks.

On the test file ([fn:1] for the old syntax, [fn:2] for the new
syntax) do org-babel-expand-src-block (C-c C-v v) on
the first source code block to see the effect.

Just before this commit I get instantaneous reaction (elp: [fn:3]), with
the commit I have to wait about 20 seconds (elp: [fn:4])
Recently things improved a bit, but still it takes about 10 seconds
to expand the source block (elp: [fn:5]).

Since working interactively with the (R-)code in the org-file is
impossible this way, here comes my question:

Is it possible to either
(a) speed up the continued source blocks
or
(b) make the continued code blocks an optional feature
in order to improve the performance to the previous state again?

I'd be happy with solution (b), but unfortunately, it is beyond my
elisp to do so.

Any help highly appreciated,
Andreas


[fn:1] test file with old syntax: http://pastebin.com/aL9axJMJ

[fn:2] test file with new syntax: http://pastebin.com/c42jS1Be

[fn:3] elp result last good commit:
  org-babel-expand-src-block                                    1           0.853276      0.853276
  org-edit-src-code                                             1           0.58143       0.58143
  org-entry-get                                                 2220        0.4699039999  0.0002116684
  org-babel-edit-prep:R                                         1           0.46897       0.46897
  org-babel-R-initiate-session                                  1           0.468958      0.468958
  org-babel-expand-noweb-references                             5           0.340635      0.0681270000
  org-babel-get-src-block-info                                  7           0.32633       0.0466185714
  org-babel-parse-src-block-match                               7           0.3256329999  0.0465189999
  org-babel-params-from-properties                              7           0.3117870000  0.0445410000
  org-entry-get-with-inheritance                                518         0.3088709999  0.0005962760
  org-up-heading-safe                                           1702        0.0883419999  5.190...e-05
  org-get-property-block                                        1702        0.0846720000  4.974...e-05
  org-back-to-heading                                           3404        0.0623720000  1.832...e-05
  org-edit-src-find-region-and-lang                             1           0.052575      0.052575
  org-before-first-heading-p                                    2220        0.0260470000  1.173...e-05
  org-babel-params-from-buffer                                  7           0.0117110000  0.0016730000
  org-outline-level                                             2886        0.0047120000  1.632...e-06
  org-babel-find-named-block                                    4           0.003625      0.00090625
  org-babel-merge-params                                        29          0.0014899999  5.137...e-05
  org-babel-parse-header-arguments                              28          0.00076       2.714...e-05
  org-babel-where-is-src-block-head                             7           0.000354      5.057...e-05
  org-do-remove-indentation                                     8           0.0003219999  4.024...e-05
  org-not-nil                                                   518         0.0002629999  5.077...e-07
  org-babel-read                                                30          0.000171      5.700...e-06
  org-uniquify                                                  96          0.0001619999  1.687...e-06
  org-src-switch-to-buffer                                      1           0.000161      0.000161
  org-switch-to-buffer-other-window                             1           0.000153      0.000153
  org-edit-src-find-buffer                                      1           0.00014       0.00014
  org-mode-flyspell-verify                                      1           0.000123      0.000123
  org-babel-trim                                                4           8.999...e-05  2.249...e-05
  org-make-options-regexp                                       28          7.900...e-05  2.821...e-06
  org-babel-chomp                                               38          6.899...e-05  1.815...e-06
  org-babel-strip-protective-commas                             7           6.000...e-05  8.571...e-06
  org-edit-src-get-indentation                                  1           5.4e-05       5.4e-05
  org-babel-number-p                                            30          5.000...e-05  1.666...e-06
  org-get-indentation                                           1           4.6e-05       4.6e-05
  org-babel-process-params                                      2           4.499...e-05  2.249...e-05
  org-babel-reverse-string                                      8           3.999...e-05  4.999...e-06
  org-babel-clean-text-properties                               28          3.000...e-05  1.071...e-06
  org-src-mode                                                  1           2.3e-05       2.3e-05
  org-babel-get-header                                          5           1.9e-05       3.8e-06
  org-babel-expand-body:R                                       1           1.9e-05       1.9e-05
  org-babel-named-src-block-regexp-for-name                     4           1.399...e-05  3.499...e-06
  org-babel-variable-assignments:R                              1           1.2e-05       1.2e-05
  org-edit-src-get-label-format                                 1           1.2e-05       1.2e-05
  org-src-babel-configure-edit-buffer                           1           9e-06         9e-06
  org-src-mode-configure-edit-buffer                            1           8e-06         8e-06
  org-edit-src-get-lang                                         1           6e-06         6e-06
  org-add-hook                                                  1           5e-06         5e-06
  org-src-associate-babel-session                               1           5e-06         5e-06
  org-move-to-column                                            1           4e-06         4e-06
  org-babel-disassemble-tables                                  2           2e-06         1e-06
  org-region-active-p                                           1           2e-06         2e-06
  org-number-sequence                                           1           2e-06         2e-06
  org-babel-comint-buffer-livep                                 2           2e-06         1e-06
  org-babel-R-graphical-output-file                             1           1e-06         1e-06

[fn:4] elp result problematic commit
  org-babel-expand-noweb-references                             5           31.696517     6.3393034
  org-entry-get                                                 130002      24.352512999  0.0001873241
  org-babel-expand-src-block                                    1           19.233299     19.233299
  org-babel-get-src-block-info                                  327         19.045015000  0.0582416360
  org-babel-parse-src-block-match                               327         19.000417999  0.0581052538
  org-babel-params-from-properties                              327         17.089966999  0.0522628960
  org-entry-get-with-inheritance                                23838       16.555423999  0.0006944971
  org-up-heading-safe                                           106164      7.4488420000  7.016...e-05
  org-get-property-block                                        106164      4.4522569999  4.193...e-05
  org-before-first-heading-p                                    130002      2.1264209999  1.635...e-05
  org-back-to-heading                                           212328      1.7064339999  8.036...e-06
  org-babel-merge-params                                        1309        1.3357350000  0.0010204239
  org-babel-params-from-buffer                                  327         1.2614980000  0.0038577920
  org-outline-level                                             188490      0.9018869999  4.784...e-06
  org-edit-src-code                                             1           0.190142      0.190142
  org-babel-parse-header-arguments                              1308        0.0611450000  4.674...e-05
  org-edit-src-find-region-and-lang                             1           0.047875      0.047875
  org-do-remove-indentation                                     328         0.0269740000  8.223...e-05
  org-babel-where-is-src-block-head                             327         0.0229660000  7.023...e-05
  org-not-nil                                                   23838       0.0112739999  4.729...e-07
  org-babel-read                                                1578        0.0100570000  6.373...e-06
  org-uniquify                                                  4217        0.0058860000  1.395...e-06
  org-babel-strip-protective-commas                             327         0.0035549999  1.087...e-05
  org-make-options-regexp                                       1308        0.0032889999  2.514...e-06
  org-babel-chomp                                               1578        0.0030609999  1.939...e-06
  org-edit-src-exit                                             1           0.002847      0.002847
  org-babel-number-p                                            1578        0.0023579999  1.494...e-06
  org-babel-clean-text-properties                               1305        0.0020099999  1.540...e-06
  org-match-string-no-properties                                981         0.0014470000  1.475...e-06
  org-src-switch-to-buffer                                      2           0.000706      0.000353
  org-edit-src-find-buffer                                      1           0.000486      0.000486
  org-switch-to-buffer-other-window                             2           0.000389      0.0001945
  org-babel-process-params                                      2           8.8e-05       4.4e-05
  org-mode-flyspell-verify                                      1           5.5e-05       5.5e-05
  org-babel-get-header                                          5           5.400...e-05  1.080...e-05
  org-src-mode                                                  1           4.2e-05       4.2e-05
  org-edit-src-get-indentation                                  2           3.9e-05       1.95e-05
  org-babel-expand-body:R                                       1           3.6e-05       3.6e-05
  org-get-indentation                                           2           3.000...e-05  1.500...e-05
  org-src-babel-configure-edit-buffer                           1           2.5e-05       2.5e-05
  org-babel-variable-assignments:R                              1           2.4e-05       2.4e-05
  org-move-to-column                                            2           2.4e-05       1.2e-05
  org-src-associate-babel-session                               1           2.2e-05       2.2e-05
  org-babel-edit-prep:R                                         1           1.9e-05       1.9e-05
  org-edit-src-get-lang                                         2           9e-06         4.5e-06
  org-src-mode-configure-edit-buffer                            1           8e-06         8e-06
  org-edit-src-get-label-format                                 2           7e-06         3.5e-06
  org-babel-R-associate-session                                 1           6e-06         6e-06
  org-babel-R-initiate-session                                  1           6e-06         6e-06
  org-add-hook                                                  1           5e-06         5e-06
  org-babel-comint-buffer-livep                                 2           4.999...e-06  2.499...e-06
  org-babel-disassemble-tables                                  2           4e-06         2e-06
  org-babel-R-graphical-output-file                             1           2e-06         2e-06
  org-number-sequence                                           1           2e-06         2e-06
  org-region-active-p                                           1           1e-06         1e-06

[fn:5] elp result from the current HEAD (baae11d38ccf71d835c68b25dec88311f26625b4)
  org-babel-expand-noweb-references                             5           16.7724       3.35448
  org-entry-get                                                 73866       14.340808999  0.0001941462
  org-babel-expand-src-block                                    1           10.147227     10.147227
  org-babel-get-src-block-info                                  327         10.072349999  0.0308022935
  org-babel-parse-src-block-match                               327         10.051350000  0.0307380733
  org-babel-params-from-properties                              327         9.8570869999  0.0301439969
  org-entry-get-with-inheritance                                13554       9.6411849999  0.0007113165
  org-up-heading-safe                                           60312       4.0404989999  6.699...e-05
  org-get-property-block                                        60312       2.4755100000  4.104...e-05
  org-back-to-heading                                           120624      1.2751989999  1.057...e-05
  org-before-first-heading-p                                    73866       1.1468149999  1.552...e-05
  org-outline-level                                             107070      0.6830879999  6.379...e-06
  org-edit-src-code                                             1           0.06919       0.06919
  org-edit-src-find-region-and-lang                             1           0.04786       0.04786
  org-babel-strip-protective-commas                             327         0.0461469999  0.0001411223
  org-babel-merge-params                                        328         0.0270430000  8.244...e-05
  org-do-remove-indentation                                     328         0.0259550000  7.913...e-05
  org-babel-parse-header-arguments                              327         0.0254640000  7.787...e-05
  org-babel-where-is-src-block-head                             327         0.0111359999  3.405...e-05
  org-babel-balanced-split                                      351         0.0105150000  2.995...e-05
  org-babel-read                                                1578        0.0085669999  5.429...e-06
  org-babel-ref-goto-headline-id                                4           0.0083590000  0.0020897500
  org-not-nil                                                   13554       0.0065560000  4.836...e-07
  org-id-find-id-in-file                                        4           0.003685      0.00092125
  org-find-entry-with-id                                        4           0.0034720000  0.0008680000
  org-uniquify                                                  2582        0.0033410000  1.293...e-06
  org-babel-number-p                                            1578        0.0026629999  1.687...e-06
  org-babel-parse-multiple-vars                                 645         0.0024450000  3.790...e-06
  org-babel-chomp                                               663         0.0013199999  1.990...e-06
  org-babel-clean-text-properties                               1305        0.0009750000  7.471...e-07
  org-babel-trim                                                33          0.0004450000  1.348...e-05
  org-src-switch-to-buffer                                      1           0.000372      0.000372
  org-switch-to-buffer-other-window                             1           0.000365      0.000365
  org-babel-join-splits-near-ch                                 33          0.0001880000  5.696...e-06
  org-edit-src-find-buffer                                      1           0.000187      0.000187
  org-babel-reverse-string                                      66          0.0001189999  1.803...e-06
  org-reduce                                                    33          6.6e-05       2.000...e-06
  org-mode-flyspell-verify                                      1           5.9e-05       5.9e-05
  org-edit-src-get-indentation                                  2           4.5e-05       2.25e-05
  org-get-agenda-file-buffer                                    4           4.499...e-05  1.124...e-05
  org-babel-process-params                                      2           4.4e-05       2.2e-05
  org-get-indentation                                           2           3.7e-05       1.85e-05
  org-src-mode                                                  1           3.7e-05       3.7e-05
  org-find-base-buffer-visiting                                 4           3.4e-05       8.5e-06
  org-src-babel-configure-edit-buffer                           1           2e-05         2e-05
  org-babel-expand-body:R                                       1           2e-05         2e-05
  org-babel-get-header                                          5           1.7e-05       3.4e-06
  org-src-associate-babel-session                               1           1.7e-05       1.7e-05
  org-babel-edit-prep:R                                         1           1.4e-05       1.4e-05
  org-babel-variable-assignments:R                              1           1.1e-05       1.1e-05
  org-edit-src-get-lang                                         2           9.999...e-06  4.999...e-06
  org-src-mode-configure-edit-buffer                            1           9e-06         9e-06
  org-id-find-id-file                                           4           9e-06         2.25e-06
  org-edit-src-get-label-format                                 2           8.000...e-06  4.000...e-06
  org-move-to-column                                            1           7e-06         7e-06
  org-babel-disassemble-tables                                  2           4e-06         2e-06
  org-babel-R-associate-session                                 1           4e-06         4e-06
  org-babel-R-initiate-session                                  1           4e-06         4e-06
  org-add-hook                                                  1           4e-06         4e-06
  org-babel-comint-buffer-livep                                 2           3e-06         1.5e-06
  org-babel-R-graphical-output-file                             1           2e-06         2e-06
  org-region-active-p                                           1           2e-06         2e-06
  org-number-sequence                                           1           2e-06         2e-06

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] speed of continued source blocks
  2011-12-10 23:30 [babel] speed of continued source blocks Andreas Leha
@ 2011-12-11 16:53 ` Eric Schulte
  2011-12-11 18:04   ` Andreas Leha
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Schulte @ 2011-12-11 16:53 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Hi Andreas,

I've just pushed up a patch which should speed up the collection of
continued source blocks.  Please let me know if the performance increase
is sufficient for your example, if not we can look at more dramatic
methods of optimization or possibly at making the collection of such
blocks conditional.

One option to avoid this overhead could be to add the following

#+PROPERTY: noweb no

to the top of your Org-mode file.

Best,

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi all,
>
> there is a significant performance drop connected to (the quite old) commit
>  8c37281cb63a0b5cb0d84d22960e3a33d7680d40
>  ob-tangle: continued code blocks now implemented with the :noweb-ref header arg
> which introduces the continued code blocks.
>
> On the test file ([fn:1] for the old syntax, [fn:2] for the new
> syntax) do org-babel-expand-src-block (C-c C-v v) on
> the first source code block to see the effect.
>
> Just before this commit I get instantaneous reaction (elp: [fn:3]), with
> the commit I have to wait about 20 seconds (elp: [fn:4])
> Recently things improved a bit, but still it takes about 10 seconds
> to expand the source block (elp: [fn:5]).
>
> Since working interactively with the (R-)code in the org-file is
> impossible this way, here comes my question:
>
> Is it possible to either
> (a) speed up the continued source blocks
> or
> (b) make the continued code blocks an optional feature
> in order to improve the performance to the previous state again?
>
> I'd be happy with solution (b), but unfortunately, it is beyond my
> elisp to do so.
>
> Any help highly appreciated,
> Andreas
>
>
> [fn:1] test file with old syntax: http://pastebin.com/aL9axJMJ
>
> [fn:2] test file with new syntax: http://pastebin.com/c42jS1Be
>
> [fn:3] elp result last good commit:
>   org-babel-expand-src-block                                    1           0.853276      0.853276
>   org-edit-src-code                                             1           0.58143       0.58143
>   org-entry-get                                                 2220        0.4699039999  0.0002116684
>   org-babel-edit-prep:R                                         1           0.46897       0.46897
>   org-babel-R-initiate-session                                  1           0.468958      0.468958
>   org-babel-expand-noweb-references                             5           0.340635      0.0681270000
>   org-babel-get-src-block-info                                  7           0.32633       0.0466185714
>   org-babel-parse-src-block-match                               7           0.3256329999  0.0465189999
>   org-babel-params-from-properties                              7           0.3117870000  0.0445410000
>   org-entry-get-with-inheritance                                518         0.3088709999  0.0005962760
>   org-up-heading-safe                                           1702        0.0883419999  5.190...e-05
>   org-get-property-block                                        1702        0.0846720000  4.974...e-05
>   org-back-to-heading                                           3404        0.0623720000  1.832...e-05
>   org-edit-src-find-region-and-lang                             1           0.052575      0.052575
>   org-before-first-heading-p                                    2220        0.0260470000  1.173...e-05
>   org-babel-params-from-buffer                                  7           0.0117110000  0.0016730000
>   org-outline-level                                             2886        0.0047120000  1.632...e-06
>   org-babel-find-named-block                                    4           0.003625      0.00090625
>   org-babel-merge-params                                        29          0.0014899999  5.137...e-05
>   org-babel-parse-header-arguments                              28          0.00076       2.714...e-05
>   org-babel-where-is-src-block-head                             7           0.000354      5.057...e-05
>   org-do-remove-indentation                                     8           0.0003219999  4.024...e-05
>   org-not-nil                                                   518         0.0002629999  5.077...e-07
>   org-babel-read                                                30          0.000171      5.700...e-06
>   org-uniquify                                                  96          0.0001619999  1.687...e-06
>   org-src-switch-to-buffer                                      1           0.000161      0.000161
>   org-switch-to-buffer-other-window                             1           0.000153      0.000153
>   org-edit-src-find-buffer                                      1           0.00014       0.00014
>   org-mode-flyspell-verify                                      1           0.000123      0.000123
>   org-babel-trim                                                4           8.999...e-05  2.249...e-05
>   org-make-options-regexp                                       28          7.900...e-05  2.821...e-06
>   org-babel-chomp                                               38          6.899...e-05  1.815...e-06
>   org-babel-strip-protective-commas                             7           6.000...e-05  8.571...e-06
>   org-edit-src-get-indentation                                  1           5.4e-05       5.4e-05
>   org-babel-number-p                                            30          5.000...e-05  1.666...e-06
>   org-get-indentation                                           1           4.6e-05       4.6e-05
>   org-babel-process-params                                      2           4.499...e-05  2.249...e-05
>   org-babel-reverse-string                                      8           3.999...e-05  4.999...e-06
>   org-babel-clean-text-properties                               28          3.000...e-05  1.071...e-06
>   org-src-mode                                                  1           2.3e-05       2.3e-05
>   org-babel-get-header                                          5           1.9e-05       3.8e-06
>   org-babel-expand-body:R                                       1           1.9e-05       1.9e-05
>   org-babel-named-src-block-regexp-for-name                     4           1.399...e-05  3.499...e-06
>   org-babel-variable-assignments:R                              1           1.2e-05       1.2e-05
>   org-edit-src-get-label-format                                 1           1.2e-05       1.2e-05
>   org-src-babel-configure-edit-buffer                           1           9e-06         9e-06
>   org-src-mode-configure-edit-buffer                            1           8e-06         8e-06
>   org-edit-src-get-lang                                         1           6e-06         6e-06
>   org-add-hook                                                  1           5e-06         5e-06
>   org-src-associate-babel-session                               1           5e-06         5e-06
>   org-move-to-column                                            1           4e-06         4e-06
>   org-babel-disassemble-tables                                  2           2e-06         1e-06
>   org-region-active-p                                           1           2e-06         2e-06
>   org-number-sequence                                           1           2e-06         2e-06
>   org-babel-comint-buffer-livep                                 2           2e-06         1e-06
>   org-babel-R-graphical-output-file                             1           1e-06         1e-06
>
> [fn:4] elp result problematic commit
>   org-babel-expand-noweb-references                             5           31.696517     6.3393034
>   org-entry-get                                                 130002      24.352512999  0.0001873241
>   org-babel-expand-src-block                                    1           19.233299     19.233299
>   org-babel-get-src-block-info                                  327         19.045015000  0.0582416360
>   org-babel-parse-src-block-match                               327         19.000417999  0.0581052538
>   org-babel-params-from-properties                              327         17.089966999  0.0522628960
>   org-entry-get-with-inheritance                                23838       16.555423999  0.0006944971
>   org-up-heading-safe                                           106164      7.4488420000  7.016...e-05
>   org-get-property-block                                        106164      4.4522569999  4.193...e-05
>   org-before-first-heading-p                                    130002      2.1264209999  1.635...e-05
>   org-back-to-heading                                           212328      1.7064339999  8.036...e-06
>   org-babel-merge-params                                        1309        1.3357350000  0.0010204239
>   org-babel-params-from-buffer                                  327         1.2614980000  0.0038577920
>   org-outline-level                                             188490      0.9018869999  4.784...e-06
>   org-edit-src-code                                             1           0.190142      0.190142
>   org-babel-parse-header-arguments                              1308        0.0611450000  4.674...e-05
>   org-edit-src-find-region-and-lang                             1           0.047875      0.047875
>   org-do-remove-indentation                                     328         0.0269740000  8.223...e-05
>   org-babel-where-is-src-block-head                             327         0.0229660000  7.023...e-05
>   org-not-nil                                                   23838       0.0112739999  4.729...e-07
>   org-babel-read                                                1578        0.0100570000  6.373...e-06
>   org-uniquify                                                  4217        0.0058860000  1.395...e-06
>   org-babel-strip-protective-commas                             327         0.0035549999  1.087...e-05
>   org-make-options-regexp                                       1308        0.0032889999  2.514...e-06
>   org-babel-chomp                                               1578        0.0030609999  1.939...e-06
>   org-edit-src-exit                                             1           0.002847      0.002847
>   org-babel-number-p                                            1578        0.0023579999  1.494...e-06
>   org-babel-clean-text-properties                               1305        0.0020099999  1.540...e-06
>   org-match-string-no-properties                                981         0.0014470000  1.475...e-06
>   org-src-switch-to-buffer                                      2           0.000706      0.000353
>   org-edit-src-find-buffer                                      1           0.000486      0.000486
>   org-switch-to-buffer-other-window                             2           0.000389      0.0001945
>   org-babel-process-params                                      2           8.8e-05       4.4e-05
>   org-mode-flyspell-verify                                      1           5.5e-05       5.5e-05
>   org-babel-get-header                                          5           5.400...e-05  1.080...e-05
>   org-src-mode                                                  1           4.2e-05       4.2e-05
>   org-edit-src-get-indentation                                  2           3.9e-05       1.95e-05
>   org-babel-expand-body:R                                       1           3.6e-05       3.6e-05
>   org-get-indentation                                           2           3.000...e-05  1.500...e-05
>   org-src-babel-configure-edit-buffer                           1           2.5e-05       2.5e-05
>   org-babel-variable-assignments:R                              1           2.4e-05       2.4e-05
>   org-move-to-column                                            2           2.4e-05       1.2e-05
>   org-src-associate-babel-session                               1           2.2e-05       2.2e-05
>   org-babel-edit-prep:R                                         1           1.9e-05       1.9e-05
>   org-edit-src-get-lang                                         2           9e-06         4.5e-06
>   org-src-mode-configure-edit-buffer                            1           8e-06         8e-06
>   org-edit-src-get-label-format                                 2           7e-06         3.5e-06
>   org-babel-R-associate-session                                 1           6e-06         6e-06
>   org-babel-R-initiate-session                                  1           6e-06         6e-06
>   org-add-hook                                                  1           5e-06         5e-06
>   org-babel-comint-buffer-livep                                 2           4.999...e-06  2.499...e-06
>   org-babel-disassemble-tables                                  2           4e-06         2e-06
>   org-babel-R-graphical-output-file                             1           2e-06         2e-06
>   org-number-sequence                                           1           2e-06         2e-06
>   org-region-active-p                                           1           1e-06         1e-06
>
> [fn:5] elp result from the current HEAD (baae11d38ccf71d835c68b25dec88311f26625b4)
>   org-babel-expand-noweb-references                             5           16.7724       3.35448
>   org-entry-get                                                 73866       14.340808999  0.0001941462
>   org-babel-expand-src-block                                    1           10.147227     10.147227
>   org-babel-get-src-block-info                                  327         10.072349999  0.0308022935
>   org-babel-parse-src-block-match                               327         10.051350000  0.0307380733
>   org-babel-params-from-properties                              327         9.8570869999  0.0301439969
>   org-entry-get-with-inheritance                                13554       9.6411849999  0.0007113165
>   org-up-heading-safe                                           60312       4.0404989999  6.699...e-05
>   org-get-property-block                                        60312       2.4755100000  4.104...e-05
>   org-back-to-heading                                           120624      1.2751989999  1.057...e-05
>   org-before-first-heading-p                                    73866       1.1468149999  1.552...e-05
>   org-outline-level                                             107070      0.6830879999  6.379...e-06
>   org-edit-src-code                                             1           0.06919       0.06919
>   org-edit-src-find-region-and-lang                             1           0.04786       0.04786
>   org-babel-strip-protective-commas                             327         0.0461469999  0.0001411223
>   org-babel-merge-params                                        328         0.0270430000  8.244...e-05
>   org-do-remove-indentation                                     328         0.0259550000  7.913...e-05
>   org-babel-parse-header-arguments                              327         0.0254640000  7.787...e-05
>   org-babel-where-is-src-block-head                             327         0.0111359999  3.405...e-05
>   org-babel-balanced-split                                      351         0.0105150000  2.995...e-05
>   org-babel-read                                                1578        0.0085669999  5.429...e-06
>   org-babel-ref-goto-headline-id                                4           0.0083590000  0.0020897500
>   org-not-nil                                                   13554       0.0065560000  4.836...e-07
>   org-id-find-id-in-file                                        4           0.003685      0.00092125
>   org-find-entry-with-id                                        4           0.0034720000  0.0008680000
>   org-uniquify                                                  2582        0.0033410000  1.293...e-06
>   org-babel-number-p                                            1578        0.0026629999  1.687...e-06
>   org-babel-parse-multiple-vars                                 645         0.0024450000  3.790...e-06
>   org-babel-chomp                                               663         0.0013199999  1.990...e-06
>   org-babel-clean-text-properties                               1305        0.0009750000  7.471...e-07
>   org-babel-trim                                                33          0.0004450000  1.348...e-05
>   org-src-switch-to-buffer                                      1           0.000372      0.000372
>   org-switch-to-buffer-other-window                             1           0.000365      0.000365
>   org-babel-join-splits-near-ch                                 33          0.0001880000  5.696...e-06
>   org-edit-src-find-buffer                                      1           0.000187      0.000187
>   org-babel-reverse-string                                      66          0.0001189999  1.803...e-06
>   org-reduce                                                    33          6.6e-05       2.000...e-06
>   org-mode-flyspell-verify                                      1           5.9e-05       5.9e-05
>   org-edit-src-get-indentation                                  2           4.5e-05       2.25e-05
>   org-get-agenda-file-buffer                                    4           4.499...e-05  1.124...e-05
>   org-babel-process-params                                      2           4.4e-05       2.2e-05
>   org-get-indentation                                           2           3.7e-05       1.85e-05
>   org-src-mode                                                  1           3.7e-05       3.7e-05
>   org-find-base-buffer-visiting                                 4           3.4e-05       8.5e-06
>   org-src-babel-configure-edit-buffer                           1           2e-05         2e-05
>   org-babel-expand-body:R                                       1           2e-05         2e-05
>   org-babel-get-header                                          5           1.7e-05       3.4e-06
>   org-src-associate-babel-session                               1           1.7e-05       1.7e-05
>   org-babel-edit-prep:R                                         1           1.4e-05       1.4e-05
>   org-babel-variable-assignments:R                              1           1.1e-05       1.1e-05
>   org-edit-src-get-lang                                         2           9.999...e-06  4.999...e-06
>   org-src-mode-configure-edit-buffer                            1           9e-06         9e-06
>   org-id-find-id-file                                           4           9e-06         2.25e-06
>   org-edit-src-get-label-format                                 2           8.000...e-06  4.000...e-06
>   org-move-to-column                                            1           7e-06         7e-06
>   org-babel-disassemble-tables                                  2           4e-06         2e-06
>   org-babel-R-associate-session                                 1           4e-06         4e-06
>   org-babel-R-initiate-session                                  1           4e-06         4e-06
>   org-add-hook                                                  1           4e-06         4e-06
>   org-babel-comint-buffer-livep                                 2           3e-06         1.5e-06
>   org-babel-R-graphical-output-file                             1           2e-06         2e-06
>   org-region-active-p                                           1           2e-06         2e-06
>   org-number-sequence                                           1           2e-06         2e-06
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] speed of continued source blocks
  2011-12-11 16:53 ` Eric Schulte
@ 2011-12-11 18:04   ` Andreas Leha
  2011-12-11 19:04     ` Eric Schulte
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Leha @ 2011-12-11 18:04 UTC (permalink / raw)
  To: emacs-orgmode


Hi Eric,

thanks for looking into this providing a patch already!

> I've just pushed up a patch which should speed up the collection of
> continued source blocks.  Please let me know if the performance increase
> is sufficient for your example, if not we can look at more dramatic
> methods of optimization or possibly at making the collection of such
> blocks conditional.

The speed looks very good already!  But now org-babel-expand-src-block
(as well es the source block evaluation) seems not to expand the noweb
references at all and more.  Is that a problem only on my side?


> One option to avoid this overhead could be to add the following
>
> #+PROPERTY: noweb no
>
> to the top of your Org-mode file.

Since I heavily rely on the noweb references, this is not an option for me.

Cheers,
Andreas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] speed of continued source blocks
  2011-12-11 18:04   ` Andreas Leha
@ 2011-12-11 19:04     ` Eric Schulte
  2011-12-11 20:00       ` Andreas Leha
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Schulte @ 2011-12-11 19:04 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi Eric,
>
> thanks for looking into this providing a patch already!
>
>> I've just pushed up a patch which should speed up the collection of
>> continued source blocks.  Please let me know if the performance increase
>> is sufficient for your example, if not we can look at more dramatic
>> methods of optimization or possibly at making the collection of such
>> blocks conditional.
>
> The speed looks very good already!

Great, unless I hear back I'll assume this issue is resolved.  Thanks
for the stress testing.

> But now org-babel-expand-src-block (as well es the source block
> evaluation) seems not to expand the noweb references at all and more.
> Is that a problem only on my side?
>

Thanks for catching this, I was only testing :noweb-ref references, not
named code block references.  I've just fixed this issue and added an
exercising test case so this won't happen in the future.

Please let me know if any problems remain.

Cheers,

>
>
>> One option to avoid this overhead could be to add the following
>>
>> #+PROPERTY: noweb no
>>
>> to the top of your Org-mode file.
>
> Since I heavily rely on the noweb references, this is not an option for me.
>
> Cheers,
> Andreas
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] speed of continued source blocks
  2011-12-11 19:04     ` Eric Schulte
@ 2011-12-11 20:00       ` Andreas Leha
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Leha @ 2011-12-11 20:00 UTC (permalink / raw)
  To: emacs-orgmode


Hi Eric,

Eric Schulte <eric.schulte@gmx.com> writes:

> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>
>> Hi Eric,
>>
>> thanks for looking into this providing a patch already!
>>
>>> I've just pushed up a patch which should speed up the collection of
>>> continued source blocks.  Please let me know if the performance increase
>>> is sufficient for your example, if not we can look at more dramatic
>>> methods of optimization or possibly at making the collection of such
>>> blocks conditional.
>>
>> The speed looks very good already!
>
> Great, unless I hear back I'll assume this issue is resolved.  Thanks
> for the stress testing.
>
>> But now org-babel-expand-src-block (as well es the source block
>> evaluation) seems not to expand the noweb references at all and more.
>> Is that a problem only on my side?
>>
>
> Thanks for catching this, I was only testing :noweb-ref references, not
> named code block references.  I've just fixed this issue and added an
> exercising test case so this won't happen in the future.
>
> Please let me know if any problems remain.
>
> Cheers,
>
>>
>>
>>> One option to avoid this overhead could be to add the following
>>>
>>> #+PROPERTY: noweb no
>>>
>>> to the top of your Org-mode file.
>>
>> Since I heavily rely on the noweb references, this is not an option for me.
>>
>> Cheers,
>> Andreas
>>
>>


thanks a lot!  Works great now.

Cheers,
Andreas

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-12-11 20:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-10 23:30 [babel] speed of continued source blocks Andreas Leha
2011-12-11 16:53 ` Eric Schulte
2011-12-11 18:04   ` Andreas Leha
2011-12-11 19:04     ` Eric Schulte
2011-12-11 20:00       ` Andreas Leha

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).