Gnus development mailing list
 help / color / mirror / Atom feed
From: Dan Christensen <jdc@uwo.ca>
To: ding@gnus.org
Subject: Re: Improving Gnus speed
Date: Mon, 29 Nov 2010 15:17:03 -0500	[thread overview]
Message-ID: <8762vf6g1s.fsf@uwo.ca> (raw)
In-Reply-To: <m31v64bv2s.fsf@quimbies.gnus.org>

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> Dan Christensen <jdc@uwo.ca> writes:
>
>> The upshot is that about 1.3s is date conversion for each article, the
>> rest has to do with the latest-date traversal and the actual sorting.
>
> Ah, right.  Thanks for benchmarking this.
>
> Perhaps the date parsing stuff should be pushed down into the C layer?
> Surely one of the many libraries already included in a standard Emacs
> build has a date parser already included...

Could be.  The lisp parser that we fall back onto in the worst case
is very complicated, handling all sorts of weird date formats.  But
it seems to me that it should be possible to quickly parse the most
common formats, and use slower code only when completely necessary.
Could it be that 99% of current e-mail/news has only a small number
of possible date formats?

Another idea for some backends is to rewrite the Date: header as an
X-Gnus-Date:  header when the article arrives.  We take the time to
carefully parse it on arrival, storing the result, and then avoid
re-doing the slow parsing every time we want to show the article.
This could work for backends like nnfolder, nnml, etc, in which Gnus
can easily edit the article.

But this is probably not worth it.  Better to just make date parsing
lightning fast if possible.

Dan




  reply	other threads:[~2010-11-29 20:17 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-09 12:35 Francis Moreau
2010-11-09 13:45 ` Didier Verna
2010-11-09 13:55   ` Francis Moreau
2010-11-09 14:00     ` Knut Anders Hatlen
2010-11-09 14:22       ` Steinar Bang
2010-11-09 14:29       ` Francis Moreau
2010-11-09 14:49         ` Richard Riley
2010-11-09 16:37           ` Didier Verna
2010-11-09 16:51             ` Richard Riley
2010-11-09 16:56               ` Steinar Bang
2010-11-09 17:12                 ` Richard Riley
2010-11-09 17:48                   ` Steinar Bang
2010-11-09 18:59                     ` Adam Sjøgren
2010-11-09 19:17                       ` Steinar Bang
2010-11-09 19:06                     ` Richard Riley
2010-11-09 14:49     ` Didier Verna
2010-11-09 15:27       ` Richard Riley
2010-11-09 15:42         ` Francis Moreau
2010-11-09 16:35         ` Didier Verna
2010-11-09 16:49           ` Richard Riley
2010-11-09 19:52           ` Francis Moreau
2010-11-09 20:48             ` Richard Riley
2010-11-09 15:04     ` Adam Sjøgren
2010-11-09 18:55 ` Lars Magne Ingebrigtsen
2010-11-09 19:58   ` Francis Moreau
2010-11-09 21:03     ` Andreas Schwab
2010-11-09 21:49       ` Ted Zlatanov
2010-11-09 22:45         ` Richard Riley
2010-11-10  8:49           ` Francis Moreau
2010-11-10 10:31             ` Francis Moreau
2010-11-10  9:39           ` Julien Danjou
2010-11-10 13:26             ` Ted Zlatanov
2010-11-10 13:28               ` Julien Danjou
2010-11-10 14:12               ` Richard Riley
2010-11-10 17:40                 ` Andreas Schwab
2010-11-10 13:38       ` Francis Moreau
2010-11-09 21:27   ` Lars Magne Ingebrigtsen
2010-11-10 14:16   ` Francis Moreau
2010-11-10 18:20     ` Lars Magne Ingebrigtsen
2010-11-11  8:14       ` Francis Moreau
2010-11-11 18:34         ` Lars Magne Ingebrigtsen
2010-11-11 19:54           ` Francis Moreau
2010-11-14 16:10             ` Lars Magne Ingebrigtsen
2010-11-15  9:40               ` Francis Moreau
2010-11-21  6:02                 ` Lars Magne Ingebrigtsen
2010-11-21 13:54                   ` Francis Moreau
2010-11-21 18:17                     ` Lars Magne Ingebrigtsen
2010-11-21 19:37                       ` Francis Moreau
2010-11-24 22:09                         ` Lars Magne Ingebrigtsen
2010-11-25  7:35                           ` Francis Moreau
2010-11-12 11:11       ` Francis Moreau
2010-11-14 16:11         ` Lars Magne Ingebrigtsen
2010-11-15  9:07           ` Francis Moreau
2010-11-21  5:44             ` Lars Magne Ingebrigtsen
2010-11-21 14:07               ` Francis Moreau
2010-11-10 18:21     ` Lars Magne Ingebrigtsen
2010-11-11  8:22       ` Francis Moreau
2010-11-11 18:33         ` Lars Magne Ingebrigtsen
2010-11-11 19:56           ` Francis Moreau
2010-11-14 16:10             ` Lars Magne Ingebrigtsen
2010-11-12 18:55     ` Dan Christensen
2010-11-12 20:07       ` Francis Moreau
2010-11-12 21:38         ` Dan Christensen
2010-11-13 20:46           ` Francis Moreau
2010-11-14  9:32             ` Francis Moreau
2010-11-29  0:40               ` Dan Christensen
2010-11-29  4:47                 ` Lars Magne Ingebrigtsen
2010-11-29  6:01                   ` Miles Bader
2010-11-29  6:18                     ` Lars Magne Ingebrigtsen
2010-11-29  6:36                       ` Lars Magne Ingebrigtsen
2010-11-29  6:40                       ` Daniel Pittman
2010-11-29  8:27                 ` Francis Moreau
2010-11-29 19:30                   ` Dan Christensen
2010-11-29 20:10                     ` Francis Moreau
2010-11-29 20:23                       ` Dan Christensen
2010-11-29 20:56                         ` Francis Moreau
2010-11-29 21:30                           ` Dan Christensen
2010-12-05 15:01                             ` Lars Magne Ingebrigtsen
2010-12-05 18:05                               ` Dan Christensen
2010-12-05 18:46                                 ` Lars Magne Ingebrigtsen
2010-11-14 16:13             ` Lars Magne Ingebrigtsen
2010-11-15  9:03               ` Francis Moreau
2010-11-21  5:43                 ` Lars Magne Ingebrigtsen
2010-11-21 14:39                   ` Francis Moreau
2010-11-14 16:14           ` Lars Magne Ingebrigtsen
2010-11-14 18:10             ` Dan Christensen
2010-11-14 18:26               ` Lars Magne Ingebrigtsen
2010-11-14 21:27                 ` Dan Christensen
2010-11-21  5:42                   ` Lars Magne Ingebrigtsen
2010-11-21 20:42                     ` Dan Christensen
2010-11-21 21:46                       ` Francis Moreau
2010-11-21 22:52                         ` Dan Christensen
2010-11-22  7:57                           ` Francis Moreau
2010-11-24 22:11                       ` Lars Magne Ingebrigtsen
2010-11-29  0:29                       ` Dan Christensen
2010-11-29  4:41                         ` Lars Magne Ingebrigtsen
2010-11-29 20:17                           ` Dan Christensen [this message]
2010-12-05 15:00                             ` Date parser in C (was: Improving Gnus speed) Lars Magne Ingebrigtsen
2010-12-05 17:27                               ` Andreas Schwab
2010-12-05 17:38                                 ` Date parser in C Lars Magne Ingebrigtsen
2010-11-09 21:47 ` Improving Gnus speed Ted Zlatanov
2010-11-09 22:55   ` Steinar Bang
2010-11-10  4:27 ` Eden Cardim

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=8762vf6g1s.fsf@uwo.ca \
    --to=jdc@uwo.ca \
    --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).