From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Derek Feichtinger <derek.feichtinger@psi.ch>
Cc: emacs-orgmode@gnu.org
Subject: Re: footnote fontify causing massive slowdown
Date: Sat, 05 Dec 2015 13:58:16 +0100 [thread overview]
Message-ID: <87egf1qcgn.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <loom.20151204T081351-244@post.gmane.org> (Derek Feichtinger's message of "Fri, 4 Dec 2015 07:15:20 +0000 (UTC)")
Hello,
Derek Feichtinger <derek.feichtinger@psi.ch> writes:
> While diagnosing a server condition, I was listing parts of a system log
> via a babel expression. The 130 lines in the babel output are wrapped in
> an example block. This block caused massive slowdown of scrolling and
> other operations.
>
> Using the emacs profiler I see:
>
> - redisplay_internal (C function) 8232 88%
> - jit-lock-function 8226 88%
> - jit-lock-fontify-now 8226 88%
> - funcall 8226 88%
> - #<compiled 0x1cc274f> 8226 88%
> - run-hook-with-args 8226 88%
> - font-lock-fontify-region 8226 88%
> - font-lock-default-fontify-region 8226 88%
> - font-lock-fontify-keywords-region 8226 88%
> - org-activate-footnote-links 8158 87%
> - org-footnote-next-reference-or-definition 8158 87%
> - byte-code 8158 87%
> - org-footnote-at-reference-p 4114 44%
> - org-footnote-in-valid-context-p 4106 44%
> + org-inside-LaTeX-fragment-p 2380 25%
> + org-in-block-p 1563 16%
> + org-in-verbatim-emphasis 159 1%
> org-at-comment-p 4 0%
>
> Checking for footnote pattern matches (org-footnote-re) in the wrapped
> block, I see that
> every line matches based on the very simple and trivial pattern of
> number enclosed in angular brackets, so all the process numbers
> following the "sshd" in these lines like "sshd[1234]" do match and cause load.
>
> #################
> /var/log/secure-20151129:Nov 23 02:25:36 some-host sshd[20089]: Rhosts
> authentication refused for userXYZ: bad ownership or modes for home directory.
> /var/log/secure-20151129:Nov 23 02:25:36 some-host sshd[20089]: Rhosts
> authentication refused for userXYZ: bad ownership or modes for home directory.
> /var/log/secure-20151129:Nov 23 02:25:41 some-host sshd[20089]:
> pam_ldap: error trying to bind as user "xxxxx" (Invalid credentials)
> #################
>
> Since this kind of pattern is so common in logs and 130 lines are really not
> a large number, it makes it hard to use
> org for this purpose. Can this be turned off selectively, or can it be
> prevented in example blocks?
This is a limitation of our current way to fontify a buffer. Changing it
implies some serious work, which I'd rather spend on switching to
syntax-based (instead of regexp-based) fontification.
However, this report raises an interesting question about footnotes:
should we still support plain (e.g., "[1]") footnotes in Org documents?
The pattern is very common an regularly introduces false positives.
Also, IIRC, it was introduced for non-Org buffers (e.g., in Message mode
buffers), to provide some common features with "footnote.el" library.
I think we could remove this kind of footnotes, and yet preserve
`org-footnote-normalize' to change Org footnotes into these ones, for
foreign documents.
WDYT?
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2015-12-05 12:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-04 7:15 footnote fontify causing massive slowdown Derek Feichtinger
2015-12-05 12:58 ` Nicolas Goaziou [this message]
2015-12-05 13:47 ` Aaron Ecay
2015-12-05 15:35 ` Nicolas Goaziou
2015-12-05 15:55 ` Aaron Ecay
2015-12-06 9:41 ` Nicolas Goaziou
2015-12-05 21:40 ` Alan L Tyree
2015-12-05 21:45 ` Matt Lundin
2015-12-05 23:42 ` Rasmus
2015-12-06 0:16 ` Samuel Wales
2015-12-06 0:58 ` William Denton
2015-12-06 1:18 ` Thomas S. Dye
2015-12-06 9:42 ` Nicolas Goaziou
-- strict thread matches above, loose matches on Subject: below --
2015-12-03 7:17 Derek Feichtinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87egf1qcgn.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=derek.feichtinger@psi.ch \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).