Gnus development mailing list
 help / color / mirror / Atom feed
From: larsi@ifi.uio.no (Lars Magne Ingebrigtsen)
Subject: Re: reading .overview files takes too long!
Date: 02 Nov 1995 04:40:50 +0100	[thread overview]
Message-ID: <w8sivl3adkt.fsf_-_@surt.ifi.uio.no> (raw)
In-Reply-To: Per Abrahamsen's message of Mon, 30 Oct 1995 22:42:21 +0100

Per Abrahamsen <abraham@dina.kvl.dk> writes:

> LMI> But `sort-by-date' is (and will always be) very slow,
> 
> It does parse the date header O(N log N) times, and only need to do
> that O(N) times, so it can be made much faster.

That's true.  That would require a slight total rewrite of the thread
sorting functions, though.  

But the number of threads in a typical group usually is seldom over
100, which means that the time saved might be lost in the extra
overhead...  but probably not.

Yikes!  This is `gnus-sortable-date', which is called twice for each
comparison (O(N log N)):

(defun gnus-sortable-date (date)
  "Make sortable string by string-lessp from DATE.
Timezone package is used."
  (let* ((date (timezone-fix-time date nil nil)) ;[Y M D H M S]
	 (year (aref date 0))
	 (month (aref date 1))
	 (day (aref date 2)))
    (timezone-make-sortable-date 
     year month day 
     (timezone-make-time-string
      (aref date 3) (aref date 4) (aref date 5)))))

I think I'll stick by my original statement -- `sort-by-date' will
always be slow.  :-)

-- 
Home is where the cat is.


       reply	other threads:[~1995-11-02  3:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199510260915.CAA15950@mir.cs.washington.edu>
     [not found] ` <199510261440.KAA27436@catfish.lcs.mit.edu>
     [not found]   ` <199510261545.IAA04484@meitner.cs.washington.edu>
     [not found]     ` <w8szqein1t3.fsf@surt.ifi.uio.no>
     [not found]       ` <199510302142.WAA06042@ssv4.dina.kvl.dk>
1995-11-02  3:40         ` Lars Magne Ingebrigtsen [this message]
     [not found]           ` <sr3fc783df.fsf@delphi.ccs.neu.edu>
1995-11-06 13:32             ` Lars Magne Ingebrigtsen
2002-10-20 20:10 Stainless Steel Rat

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=w8sivl3adkt.fsf_-_@surt.ifi.uio.no \
    --to=larsi@ifi.uio.no \
    /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).