Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: Daniel Pittman <daniel@rimspace.net>
Cc: ding@gnus.org
Subject: Re: Huge memory consumption on accessing large newsgroup
Date: Mon, 01 Oct 2007 21:13:22 -0500	[thread overview]
Message-ID: <m2zlz25kn1.fsf@lifelogs.com> (raw)
In-Reply-To: <87odfjprux.fsf@enki.rimspace.net> (Daniel Pittman's message of "Mon, 01 Oct 2007 11:04:54 +1000")

On Mon, 01 Oct 2007 11:04:54 +1000 Daniel Pittman <daniel@rimspace.net> wrote: 

DP> Ted Zlatanov <tzz@lifelogs.com> writes:

>> Consider using inversion lists.  

>> They don't require pairs of integers; each value represents a flip.
>> They have other nice properties too, though it's been a while since I
>> looked at them so I can't name them.  

DP> Mmm.  The existing Gnus range code is pretty much as efficient, has
DP> lower computational complexity for the operations Gnus uses and is
DP> already existent and tested.

We're talking about reducing memory consumption, not CPU usage.  For CPU
usage the current structure is pretty good.  For memory usage, as you
can see from the subject of the message, it's not ideal.

We could use several data structures as needed to accomodate large data
lists.  Inversion lists are nice in some cases and not others; I think
they are worth at least some consideration since they don't require a
pair of numbers to express a range and thus may save some memory.  I
don't know the Emacs internals intimately, but I think (24 86 88 90)
takes up less memory than ((24 . 86) (88 . 90)).  Am I wrong?

Note Gaute's original message was about compressing pairs of integers,
not general Gnus data structures, so please consider my message in that
context.

DP> I don't think that you would see sufficient benefit from introducing the
DP> additional data type to justify spending your time on it -- but since I
DP> am not volunteering to do the work I can't tell you how to do it. ;)

I am not sure if you are addressing me or Gaute.  I made a suggestion,
and an implementation is already in place (I mentioned Kim Storm
implemented it).  I'm willing to assist Gaute, but he has to be
interested in my suggestion.  I don't have the time for this as a solo
project.

Ted



  reply	other threads:[~2007-10-02  2:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87wsw4u21m.fsf@gmx.de>
2007-08-10  9:08 ` Katsumi Yamaoka
2007-08-10 11:39   ` Katsumi Yamaoka
2007-08-10 12:43     ` Sven Joachim
2007-08-13 11:44       ` Katsumi Yamaoka
2007-08-13 17:30         ` Sven Joachim
2007-08-14 11:46           ` Katsumi Yamaoka
2007-09-13 10:27             ` Katsumi Yamaoka
2007-08-10 12:42   ` Sven Joachim
2007-09-29 21:04     ` Gaute Strokkenes
2007-09-30 22:11       ` Ted Zlatanov
2007-10-01  0:29         ` Katsumi Yamaoka
2007-10-01  1:04         ` Daniel Pittman
2007-10-02  2:13           ` Ted Zlatanov [this message]
2007-10-02  3:23             ` Daniel Pittman
2007-10-02 11:11               ` Ted Zlatanov
2007-10-02 12:17                 ` Daniel Pittman
2007-10-02 16:08                   ` Ted Zlatanov
2007-10-03  0:19                     ` Daniel Pittman
2007-10-02 13:33               ` Daniel Pittman

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=m2zlz25kn1.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=daniel@rimspace.net \
    --cc=ding@gnus.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.
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 NNTP newsgroup(s).