Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <jas@extundo.com>
Cc: ding@gnus.org
Subject: Re: [PATCH] nnimap performance improvement for large or old groups
Date: Sun, 05 Mar 2006 23:10:42 +0100	[thread overview]
Message-ID: <jasbqwkbl0d.fsf@latte.josefsson.org> (raw)
In-Reply-To: <87zmk7xen8.fsf@rimspace.net> (Daniel Pittman's message of "Sat, 04 Mar 2006 11:00:27 +1100")

Daniel Pittman <daniel@rimspace.net> writes:

> Simon Josefsson <jas@extundo.com> writes:
>> Daniel Pittman <daniel@rimspace.net> writes:
>>
>>> One of the nagging problems with using nnimap as my primary mail store
>>> is that it takes absolutely forever to enter my INBOX, as well as
>>> causing XEmacs to allocate around 150MB of memory.
>>>
>>> This is because I have been using the same INBOX for a long while now,
>>> and the 'read' info range starts with '(1 . 695705)'
>>>
>>> The code in `nnimap-request-update-info-internal' called
>>> `gnus-uncompress-range' on this, resulting in a list containing around
>>> seven million numbers -- an awful lot of memory, and time spent working
>>> through it.
>>>
>>> To address this I rewrote the code in that routine to work with
>>> compressed ranges, rather than uncompressed, which gives me a huge
>>> performance improvement (almost instant entry, vs ten to fifteen
>>> seconds) and reduces the memory use significantly.
>>>
>>>
>>> I don't think this is too performance-inefficient to include as is, and
>>> it doesn't seem to adversely effect entry into small groups or anything
>>> like that.
>>
>> Your patch seem correct.  Installed, thanks!
>>
>> It should probably be tested for a while before being included in
>> v5-10 though, the logic seem somewhat complicated and while I
>> convinced myself that it does the same thing, I might be mistaken.
>
> I completely agree that this should have long and thorough testing, for
> all that I did very carefully check the way that it worked, and made
> sure to verify every step of the new computation manually.

There are some subtle situations where a message is marked unseen on
the server (by another client), which should be propagated back into
gnus, and also when an article is removed.

But it looks OK to me.  So if nobody complains, let's move it to v5-10
in 3 months.

> Oh, but it surely is *nice* to have that in there, though. :)

Yup.



  reply	other threads:[~2006-03-05 22:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-03  1:38 Daniel Pittman
2006-03-03  9:34 ` Simon Josefsson
2006-03-04  0:00   ` Daniel Pittman
2006-03-05 22:10     ` Simon Josefsson [this message]
2006-03-15 10:32       ` Frank Schmitt
2006-03-30 18:37         ` Wes Hardaker

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=jasbqwkbl0d.fsf@latte.josefsson.org \
    --to=jas@extundo.com \
    --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).