* bash code block runs slow on org 9.6
@ 2022-12-09 18:34 Majzoub, Eric
2022-12-10 2:49 ` Max Nikulin
2022-12-10 5:53 ` Ihor Radchenko
0 siblings, 2 replies; 4+ messages in thread
From: Majzoub, Eric @ 2022-12-09 18:34 UTC (permalink / raw)
To: emacs-orgmode@gnu.org
I've got a code block that looks like the following.
#+name: read_csv
#+begin_src bash :results replace :exports none
cat ./file.csv | gawk -f ./awkfile.awk | tee .tmp1.dat;
#+end_src
This runs essentially instantaneously in org 9.5.5, but it takes much
longer, about 2 seconds or more on org 9.6, using the first release
version. Pre-release versions of 9.6 were even slower, so it seems it's
improved. But still, it's a lot slower than 9.5.5. What can I do to
diagnose the slowdown?
BTW, I'm using emacs 29.0.60, but it's the same result in emacs
30.0.50. My CSV file is pretty small, maybe 100 lines at most, and the
awk script runs essentially instantaneously on the file in an xterm.
Eric
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bash code block runs slow on org 9.6
2022-12-09 18:34 bash code block runs slow on org 9.6 Majzoub, Eric
@ 2022-12-10 2:49 ` Max Nikulin
2022-12-10 5:53 ` Ihor Radchenko
1 sibling, 0 replies; 4+ messages in thread
From: Max Nikulin @ 2022-12-10 2:49 UTC (permalink / raw)
To: emacs-orgmode
On 10/12/2022 01:34, Majzoub, Eric wrote:
> This runs essentially instantaneously in org 9.5.5, but it takes much
> longer, about 2 seconds or more on org 9.6
An example with no external dependencies:
: (require 'ob-shell)
#+begin_src bash :results replace :exports none
seq 1 200 | tee /dev/null
#+end_src
"Code block evaluation complete (took 0.1s)."
However I see noticeable pause before results are refreshed (less than 2
seconds). Org-9.3.1 works faster. Emacs-26.3.
Adding "| wc" makes evaluation instant, so it is parsing of output.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bash code block runs slow on org 9.6
2022-12-09 18:34 bash code block runs slow on org 9.6 Majzoub, Eric
2022-12-10 2:49 ` Max Nikulin
@ 2022-12-10 5:53 ` Ihor Radchenko
2022-12-10 18:18 ` Majzoub, Eric
1 sibling, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2022-12-10 5:53 UTC (permalink / raw)
To: Majzoub, Eric; +Cc: emacs-orgmode@gnu.org
"Majzoub, Eric" <eric.majzoub@umsl.edu> writes:
> I've got a code block that looks like the following.
>
> #+name: read_csv
> #+begin_src bash :results replace :exports none
> cat ./file.csv | gawk -f ./awkfile.awk | tee .tmp1.dat;
> #+end_src
>
> This runs essentially instantaneously in org 9.5.5, but it takes much
> longer, about 2 seconds or more on org 9.6, using the first release
> version. Pre-release versions of 9.6 were even slower, so it seems it's
> improved. But still, it's a lot slower than 9.5.5. What can I do to
> diagnose the slowdown?
I partially solved the slowdown in
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=76a725317
There is still some slowdown originated from table alignment. We now
use a more accurate approach to calculate string width, which gives
performance penalty. If needed, table alignment might also be optimized,
but it will not be trivial.
For diagnosing slowdowns, you may refer to
https://list.orgmode.org/orgmode/87ee2nlslt.fsf@localhost/
Let me know if the latest bugfix branch gives you acceptable
performance.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bash code block runs slow on org 9.6
2022-12-10 5:53 ` Ihor Radchenko
@ 2022-12-10 18:18 ` Majzoub, Eric
0 siblings, 0 replies; 4+ messages in thread
From: Majzoub, Eric @ 2022-12-10 18:18 UTC (permalink / raw)
To: yantar92@posteo.net; +Cc: emacs-orgmode@gnu.org
Yes, the fix works! It reduces the run time from about 2s down to 0.1s.
Thank you.
On Sat, 2022-12-10 at 05:53 +0000, Ihor Radchenko wrote:
> WARNING: This message has originated from an External Source. This
> may be a phishing expedition that can result in unauthorized access
> to our IT System. Please use proper judgment and caution when opening
> attachments, clicking links, or responding to this email.
>
> "Majzoub, Eric" <eric.majzoub@umsl.edu> writes:
>
> > I've got a code block that looks like the following.
> >
> > #+name: read_csv
> > #+begin_src bash :results replace :exports none
> > cat ./file.csv | gawk -f ./awkfile.awk | tee .tmp1.dat;
> > #+end_src
> >
> > This runs essentially instantaneously in org 9.5.5, but it takes
> > much
> > longer, about 2 seconds or more on org 9.6, using the first release
> > version. Pre-release versions of 9.6 were even slower, so it seems
> > it's
> > improved. But still, it's a lot slower than 9.5.5. What can I do to
> > diagnose the slowdown?
>
> I partially solved the slowdown in
> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=76a725317
>
> There is still some slowdown originated from table alignment. We now
> use a more accurate approach to calculate string width, which gives
> performance penalty. If needed, table alignment might also be
> optimized,
> but it will not be trivial.
>
> For diagnosing slowdowns, you may refer to
> https://list.orgmode.org/orgmode/87ee2nlslt.fsf@localhost/
>
> Let me know if the latest bugfix branch gives you acceptable
> performance.
>
> --
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at <https://orgmode.org/>.
> Support Org development at <https://liberapay.com/org-mode>,
> or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-12-10 18:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-09 18:34 bash code block runs slow on org 9.6 Majzoub, Eric
2022-12-10 2:49 ` Max Nikulin
2022-12-10 5:53 ` Ihor Radchenko
2022-12-10 18:18 ` Majzoub, Eric
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).