emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Matt Lundin <mdl@imapmail.org>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: Slow movement in large buffers
Date: Tue, 15 Mar 2011 08:50:50 -0400	[thread overview]
Message-ID: <87oc5cy2c5.fsf@fastmail.fm> (raw)
In-Reply-To: <17242340-A14F-495A-B144-20C96D52B620@gmail.com> (Carsten Dominik's message of "Tue, 15 Mar 2011 12:18:51 +0100")

Carsten Dominik <carsten.dominik@gmail.com> writes:

> On Mar 15, 2011, at 4:25 AM, Matt Lundin wrote:
>
>> I've been navigating the org-issues file (14000+ lines) and have found
>> movement within the file to be fairly slow. Sometimes Emacs will lock up
>> for several seconds.
>> 
>> For instance, to move from the level one heading "* Other" to "* Closed
>> issues" when the outline is folded takes over three seconds:
>> 
>> --8<---------------cut here---------------start------------->8---
>> next-line     1           3.015289      3.015289
>> --8<---------------cut here---------------end--------------->8---
>> 
>
> Wow, this is really bad.
> Could you use elp and instrument org, outline,
> and font-lock, and do that motion and report
> the results?
>

I instrumented those packages (along with next-line and previous-line)
and turned off flyspell. Unfortunately, it seems there is something else
involved, as previous-line is the only function registered by
elp-results:

--8<---------------cut here---------------start------------->8---
previous-line   1           2.524475      2.524475
--8<---------------cut here---------------end--------------->8---

This time, moving forward was faster than moving backward. The slowness
occurred when moving back from "* Other" to "* Development Tasks" in the
folded org-issues.org buffer. The movement jumped over a region
containing 4000 lines.

Since nothing from org or outline showed up in the results, I
instrumented the various functions called by previous-line. The culprit
seems to be a function written in C: vertical-motion. So this seems to
be an Emacs issue, rather than an org or outline issue.

--8<---------------cut here---------------start------------->8---
previous-line           1           2.5365349999  2.5365349999
line-move               1           2.536489      2.536489
line-move-visual        1           2.536436      2.536436
vertical-motion         1           2.508419      2.508419
font-lock-mode          1           3.7e-05       3.7e-05
line-move-partial       1           1.4e-05       1.4e-05
font-lock-default-function      1           9e-06         9e-06
window-hscroll          1           4e-06         4e-06
--8<---------------cut here---------------end--------------->8---

Best,
Matt

  parent reply	other threads:[~2011-03-15 12:50 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-15  3:25 Slow movement in large buffers Matt Lundin
2011-03-15  5:03 ` Carsten Dominik
2011-03-15 12:51   ` Matt Lundin
2011-03-15 10:58 ` Eric S Fraga
2011-03-15 12:54   ` Matt Lundin
2011-03-15 14:09     ` Eric S Fraga
2011-03-15 17:42       ` Carsten Dominik
2011-03-15 11:18 ` Carsten Dominik
2011-03-15 12:33   ` Lawrence Mitchell
2011-03-15 12:50   ` Matt Lundin [this message]
2011-03-15 14:15   ` Nick Dokos
2011-03-15 15:51     ` Matt Lundin
2011-03-15 17:39       ` Carsten Dominik
2011-03-15 22:00       ` Christian Moe
2011-03-15 22:56         ` Nick Dokos
2011-03-15 23:13           ` Christian Moe
2011-03-16  3:48             ` Nick Dokos
2011-03-16  1:16           ` Bastien
2011-03-18  0:37             ` Matt Lundin
2011-03-15 16:11 ` Chris Randle
2011-03-15 16:41   ` MidLifeXis at PerlMonks
2011-03-15 17:14   ` Scott Randby
2011-03-15 17:18     ` Erik Iverson
2011-03-15 17:38     ` Carsten Dominik
2011-05-11  0:41       ` Carmine Casciato
2011-05-12  6:59         ` Eric S Fraga

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=87oc5cy2c5.fsf@fastmail.fm \
    --to=mdl@imapmail.org \
    --cc=carsten.dominik@gmail.com \
    --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).