unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: acm@muc.de, schwab@linux-m68k.org, emacs-devel@gnu.org
Subject: Re: `make-overlay' very slow
Date: Wed, 15 Apr 2009 12:56:36 +0900	[thread overview]
Message-ID: <E1LtwEm-0008V1-W8@etlken> (raw)
In-Reply-To: <jwvprfftn08.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Tue, 14 Apr 2009 09:03:09 -0400)

In article <jwvprfftn08.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> > More radical idea, not related to overlays, is to make one
> > interval tree for one text property; i.e. one for `face',
> > one for `fontified'...  I think it not only improves the
> > processing speed, but also reduces the memory usage
> > (next-property-change will get slower, but we use
> > next-single-property-change more often).

> I've been tempted as well, but I'm not sure it'd be much of
> an improvement.  You'd end up with many trees, so might need
> a hash-table or some other tree to map text-property names to the
> corresponding interval tree.

I think the number of properties is not that much in normal
use and using just `assq' is sufficient.  I seldom see more
than 8 kinds of properties.  And, we can move the lastly
accessed interval tree to the head of interval tree list if
speed up is really necessary.

---
Kenichi Handa
handa@m17n.org




  parent reply	other threads:[~2009-04-15  3:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-02  6:52 hiding lines Werner LEMBERG
2009-04-02 19:30 ` Alan Mackenzie
2009-04-03  0:39   ` Stefan Monnier
2009-04-03 12:26     ` Alan Mackenzie
2009-04-03 13:22       ` Stefan Monnier
2009-04-06  6:11         ` Werner LEMBERG
2009-04-06 13:10           ` Stefan Monnier
2009-04-06 16:20             ` Werner LEMBERG
2009-04-07  0:50               ` Stefan Monnier
2009-04-07  5:26                 ` Werner LEMBERG
2009-04-10 19:54           ` Werner LEMBERG
2009-04-10 20:42             ` Andreas Schwab
2009-04-10 21:50               ` Werner LEMBERG
2009-04-10 22:42                 ` `make-overlay' very slow (was: hiding lines) Werner LEMBERG
2009-04-10 23:36                   ` `make-overlay' very slow Stefan Monnier
2009-04-11  6:11                     ` Werner LEMBERG
2009-04-11  7:34                       ` Lennart Borgman
2009-04-11  7:45                         ` Werner LEMBERG
2009-04-11  7:46                           ` Lennart Borgman
2009-04-11  8:33                             ` Werner LEMBERG
2009-04-11  8:55                       ` Eli Zaretskii
2009-04-11 12:51                       ` Stefan Monnier
2009-04-14 12:03                         ` Kenichi Handa
2009-04-14 13:03                           ` Stefan Monnier
2009-04-14 21:15                             ` Richard M Stallman
2009-04-15  3:56                             ` Kenichi Handa [this message]
2009-04-16 15:02                           ` clone-indirect-buffer-hook should be make-indirect-buffer-hook klaus.berndl
2009-04-03  5:44   ` hiding lines Andreas Roehler

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.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1LtwEm-0008V1-W8@etlken \
    --to=handa@m17n.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=schwab@linux-m68k.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.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).