all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Daniel Pittman <daniel@rimspace.net>
To: emacs-devel@gnu.org
Subject: Re: Pushing the `gnus-range-*' functions down into the C layer
Date: Sat, 11 Sep 2010 13:18:15 +1000	[thread overview]
Message-ID: <87aanp6k94.fsf@rimspace.net> (raw)
In-Reply-To: m3tylxojxo.fsf@quimbies.gnus.org

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:

[...]

>> What algorithms do you use there?  These should be O(n), right?  What do
>> you know about the usual shape of your data?  E.g. what's the expected
>> difference between the smallest and the largest element (if it's not too
>> large, we could store them in bitvectors and then provide bitwise or/and on
>> bitvectors)?
>
> It varies a bit.  The "read" range is usually on the form `(1 . 24254214)',
> and this is (of course) never uncompressed.  But you'd usually have
> additional ranges for, say, ticked, and these would be quite sparse, like
> `(45 (90 . 96) (200 . 259))' Or something like that.

Oh, wouldn't it be lovely if there were all so polite.  One of the problems my
IMAP server delivers is that I get this data for long-lived folders with
sparse email as is available here — because it is 8K in size.

    http://daniel.rimspace.net/gnus.el

This is the nice version, incidentally, where I use a copy of the source into
Dovecot because it returns a nicer set of UID values.  The original spaces,
for me, many email UIDs by ~ 100, ensuring that there are *no* contiguous
numbers available in the sparse set that Gnus is working with.

(It also leads to mailboxes with ~ 1000 numbered items across a range from 1
 through 750,000 or so.)

        Daniel
-- 
✣ Daniel Pittman            ✉ daniel@rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons




      parent reply	other threads:[~2010-09-11  3:18 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-09 15:16 Pushing the `gnus-range-*' functions down into the C layer Lars Magne Ingebrigtsen
2010-09-09 19:01 ` Ted Zlatanov
2010-09-09 21:58   ` Lars Magne Ingebrigtsen
2010-09-09 22:25     ` Ted Zlatanov
2010-09-10  3:24     ` Stephen J. Turnbull
2010-09-10 13:53       ` Ted Zlatanov
2010-09-10 14:01         ` Lars Magne Ingebrigtsen
2010-09-10 14:08           ` Leo
2010-09-10 14:15             ` Lars Magne Ingebrigtsen
2010-09-10 14:19               ` Wojciech Meyer
2010-09-11  9:44             ` Stefan Monnier
2010-09-10 14:18           ` Ted Zlatanov
2010-09-10 14:28             ` Lars Magne Ingebrigtsen
2010-09-10 14:38               ` bignums (was: Pushing the `gnus-range-*' functions down into the C layer) Ted Zlatanov
2010-09-10 15:16               ` Pushing the `gnus-range-*' functions down into the C layer Andreas Schwab
2010-09-10 15:22                 ` David Kastrup
2010-09-10 15:26                   ` Lars Magne Ingebrigtsen
2010-09-11  9:48                     ` Stefan Monnier
2010-09-11 11:57                       ` Lars Magne Ingebrigtsen
2010-09-11 15:36                         ` Stephen J. Turnbull
2010-09-11 15:51                           ` Lars Magne Ingebrigtsen
2010-09-11 16:15                             ` Wojciech Meyer
2010-09-12  9:57                               ` Stefan Monnier
2010-09-10 19:28             ` Tom Tromey
2010-09-14 15:52               ` Ted Zlatanov
2010-09-11  5:52           ` Stephen J. Turnbull
2010-09-13 11:45       ` Eli Zaretskii
2010-09-09 22:21 ` Wojciech Meyer
2010-09-09 23:48   ` Ted Zlatanov
2010-09-09 23:56     ` Wojciech Meyer
2010-09-10  0:07       ` Lars Magne Ingebrigtsen
2010-09-10  0:17         ` Wojciech Meyer
2010-09-10  8:06 ` Andy Wingo
2010-09-10 10:20   ` Wojciech Meyer
2010-09-10 10:43 ` Stefan Monnier
2010-09-10 12:35   ` Lars Magne Ingebrigtsen
2010-09-10 12:49     ` rfc2047-decode-string in C? Lars Magne Ingebrigtsen
2010-09-10 13:47       ` Stefan Monnier
2010-09-10 13:51         ` Lars Magne Ingebrigtsen
2010-09-11 16:10           ` Lars Magne Ingebrigtsen
2010-09-10 13:07     ` Pushing the `gnus-range-*' functions down into the C layer joakim
2010-09-10 13:22       ` Lars Magne Ingebrigtsen
2010-09-10 13:45     ` Stefan Monnier
2010-09-10 14:01       ` Ted Zlatanov
2010-09-10 14:09         ` Lars Magne Ingebrigtsen
2010-09-11  9:36         ` Stefan Monnier
2010-09-10 14:06       ` Lars Magne Ingebrigtsen
2010-09-11  3:18     ` Daniel Pittman [this message]

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=87aanp6k94.fsf@rimspace.net \
    --to=daniel@rimspace.net \
    --cc=emacs-devel@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 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.