emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* 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).