From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: "Tobias C. Rittweiler" <tcr@freebits.de>
Cc: emacs-devel@gnu.org
Subject: Re: Low redisplay performance (23 regression)
Date: Wed, 29 Apr 2009 16:20:49 -0400 [thread overview]
Message-ID: <jwvbpqf1b1i.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87skjrz7k7.fsf@freebits.de> (Tobias C. Rittweiler's message of "Wed, 29 Apr 2009 19:35:52 +0200")
>> > As I use `end-of-defun' in my customized
>> > `font-lock-extend-region-functions' this does have an impact on the
>> > overall performance of fontification for me on large files.
>> I don't think the size of the file (aka buffer) should make
>> a difference.
> Yes, I meant to write on large defuns. I test this on a file which
> contains defuns spanning up to 500-600 lines.
Yes, that makes sense.
> I'm not sure how much you can do with this information. But I can concur
> with the OP that there does seem to be a performance regression.
Indeed font-lock-fontify-keywords-region (which is the part which I'd
expect to take the bulk of the time and would be a source of performance
problems no matter how you implement your
font-lock-extend-region-functions if you force refontification of the
whole defun every time), so as I was saying
font-lock-fontify-keywords-region got about twice as slow. And I can't
explain it. As far as I know, this part of font-lock has not been
changed in any significant way. What happens if you use Emacs-22's
font-lock.el in Emacs-23?
> > So it's about twice as slow for this test, which is the expected in this
> > case: since your benchmark always calls it with point between 2 defuns,
> > it ends up doing: BOD-raw to find the previous defun, EOD-function to
> > find its end, which tells Emacs that the starting point was after the
> > previous defun, so it calls BOD-raw again to find the next defun and
> > finally EOD-function to get to its end.
> Why didn't 22.x do this? Probably to fix some bug, right?
No, you're right. Emacs-22's code is very different, but it should end
up doing pretty much the same thing (two calls to BOD-raw plus two calls
to forward-list) and I see no reason why it should be any faster.
Stefan
next prev parent reply other threads:[~2009-04-29 20:20 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-20 21:58 Low redisplay performance (23 regression) David Reitter
2009-04-20 22:31 ` Deniz Dogan
2009-04-20 22:33 ` Chong Yidong
2009-04-20 23:20 ` David Reitter
2009-04-21 3:15 ` Eli Zaretskii
2009-04-21 12:36 ` Juanma Barranquero
2009-04-21 13:51 ` David Reitter
2009-04-21 14:20 ` Juanma Barranquero
2009-04-21 18:58 ` Eli Zaretskii
2009-04-21 19:07 ` Eli Zaretskii
2009-04-21 23:24 ` Juanma Barranquero
2009-04-21 20:19 ` David Reitter
2009-04-21 20:53 ` Chong Yidong
2009-04-21 22:15 ` David Reitter
2009-04-22 15:30 ` Daniel Clemente
2009-04-22 15:50 ` David Reitter
2009-04-22 16:28 ` Chong Yidong
2009-04-22 18:26 ` David Reitter
2009-04-23 13:34 ` Willem Rein Oudshoorn
2009-04-23 22:45 ` Miles Bader
2009-05-06 13:28 ` Willem Rein Oudshoorn
2009-04-22 22:58 ` YAMAMOTO Mitsuharu
2009-04-23 1:01 ` ftx font driver [Re: Low redisplay performance (23 regression)] Kenichi Handa
2009-04-23 7:31 ` YAMAMOTO Mitsuharu
2009-04-23 11:22 ` Kenichi Handa
2009-04-23 12:38 ` Chong Yidong
2009-04-23 14:56 ` Stefan Monnier
2009-04-24 1:09 ` Kenichi Handa
2009-04-24 2:01 ` Stefan Monnier
2009-04-24 3:52 ` Chong Yidong
2009-04-25 14:38 ` Chong Yidong
2009-04-21 23:16 ` Low redisplay performance (23 regression) Juanma Barranquero
2009-04-21 14:56 ` William Xu
2009-04-21 15:30 ` David Reitter
2009-04-22 14:25 ` William Xu
2009-04-29 10:17 ` Tobias C. Rittweiler
2009-04-29 11:54 ` David Reitter
2009-04-29 13:33 ` Stefan Monnier
2009-04-29 17:35 ` Tobias C. Rittweiler
2009-04-29 20:20 ` Stefan Monnier [this message]
2009-04-30 7:34 ` Tobias C. Rittweiler
2009-04-30 20:00 ` Stefan Monnier
2009-04-30 20:34 ` Tobias C. Rittweiler
2009-04-29 18:01 ` Tobias C. Rittweiler
2009-04-29 17:40 ` Tassilo Horn
2009-04-29 17:49 ` David Reitter
2009-04-29 18:21 ` Tassilo Horn
[not found] ` <14FF0914-56BA-41D6-85DA-A4024694CF75@gmail.com>
2009-04-29 19:45 ` Tassilo Horn
2009-04-29 18:45 ` Chong Yidong
2009-04-30 2:46 ` YAMAMOTO Mitsuharu
2009-04-30 3:49 ` Chong Yidong
2009-04-30 6:27 ` YAMAMOTO Mitsuharu
2009-04-29 22:10 ` Miles Bader
2009-04-30 5:05 ` Chong Yidong
2009-04-30 7:53 ` Tobias C. Rittweiler
2009-04-30 9:37 ` Tassilo Horn
2009-04-30 12:44 ` David Reitter
2009-04-29 18:38 ` Dan Nicolaescu
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvbpqf1b1i.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
--cc=tcr@freebits.de \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.