Gnus development mailing list
 help / color / mirror / Atom feed
From: kai.grossjohann@uni-duisburg.de (Kai Großjohann)
Subject: Re: overview -> .db files?
Date: Thu, 31 Oct 2002 19:21:44 +0100	[thread overview]
Message-ID: <844rb2o4ef.fsf@crybaby.uni-duisburg.de> (raw)
In-Reply-To: <sdu1j2pp60.fsf@wanderer.hardakers.net>

Wes Hardaker <wes@hardakers.net> writes:

> Here's a thought:  XEmacs at least (I don't know about Emacs) offers
> the ability to make use of true database files for things.  How
> difficult would it be to (optionally of course) change the .overview
> files into db files for speed purposes?

I think it might not be so easy.  I think the backend interface works
like this: Gnus tells the backend to retrieve some headers, the
backend puts the headers into a buffer in NOV format, then Gnus reads
that buffer.

But I think there are already provisions for using headers instead of
NOV format.  So maybe that's a spot where you can hook in and return
the headers to Gnus in a Lisp data structure without going via a
buffer.

It would be a major undertaking.  Please work on it :-)

Another possibility which might be easier is to keep the backend
interface and to just use the db files as a faster way to extract the
right headers.  Currently, I think nnml just inserts the whole
.overview file into a buffer and then uses search-forward to find
things.  (Or maybe it has a binary search algorithm?  Then it would
be difficult to make it a lot faster.)

But if you set gnus-verbose and gnus-verbose-backends to 10 I think
you will see that fetching headers is not the most time-consuming
part when using Gnus.  There are some cases where header fetching is
slow, but now we have the agent cache which speeds things up a lot.

At least for me, the slow part about using Gnus is the generation of
the summary buffer.  I wonder if that can be made faster somehow.
Is there a way to create a buffer with a lot of text properties and
stuff really quickly?  What happens if we princ (buffer-string) to a
file and then read that representation into memory and use a single
insert call to create a buffer from it?

kai
-- 
~/.signature is: umop ap!sdn    (Frank Nobis)



  reply	other threads:[~2002-10-31 18:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-31 16:07 Wes Hardaker
2002-10-31 18:21 ` Kai Großjohann [this message]
2002-10-31 21:03   ` Wes Hardaker
2002-11-01 17:42     ` Kai Großjohann
2002-11-06 17:44       ` Paul Jarc
2002-11-07  7:37         ` Kai Großjohann

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=844rb2o4ef.fsf@crybaby.uni-duisburg.de \
    --to=kai.grossjohann@uni-duisburg.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.
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).