From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/42602 Path: main.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: db-backed mail back end Date: Sat, 26 Jan 2002 12:12:21 +0100 Organization: Programmerer Ingebrigtsen Sender: owner-ding@hpc.uh.edu Message-ID: References: <87hepbdrsj.fsf@inanna.rimspace.net> <2nbsfitmtx.fsf@zsh.cs.rochester.edu> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035177824 12720 80.91.224.250 (21 Oct 2002 05:23:44 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 05:23:44 +0000 (UTC) Return-Path: Original-Received: (qmail 2548 invoked from network); 26 Jan 2002 11:13:53 -0000 Original-Received: from malifon.math.uh.edu (mail@129.7.128.13) by mastaler.com with SMTP; 26 Jan 2002 11:13:53 -0000 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 16UQlT-0000Nl-00; Sat, 26 Jan 2002 05:12:55 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sat, 26 Jan 2002 05:12:49 -0600 (CST) Original-Received: from sclp3.sclp.com (qmailr@sclp3.sclp.com [209.196.61.66]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id FAA27256 for ; Sat, 26 Jan 2002 05:12:32 -0600 (CST) Original-Received: (qmail 2532 invoked by alias); 26 Jan 2002 11:12:27 -0000 Original-Received: (qmail 2527 invoked from network); 26 Jan 2002 11:12:27 -0000 Original-Received: from ingebrigtsen.no (HELO quimby2.netfonds.no) (195.204.10.66) by gnus.org with SMTP; 26 Jan 2002 11:12:27 -0000 Original-Received: from news by quimby2.netfonds.no with local (Exim 3.12 #1 (Debian)) id 16UQnN-0002tT-00 for ; Sat, 26 Jan 2002 12:14:53 +0100 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 41 Original-NNTP-Posting-Host: quimbies.gnus.org Original-X-Trace: quimby2.netfonds.no 1012043693 10724 195.204.10.148 (26 Jan 2002 11:14:53 GMT) Original-X-Complaints-To: usenet@quimby2.netfonds.no Original-NNTP-Posting-Date: 26 Jan 2002 11:14:53 GMT Mail-Copies-To: never X-Now-Playing: Hood's _Remixes_: "Horse Opera" User-Agent: Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.1 (i686-pc-linux-gnu) X-Face: )4+t#CYhCi%}CUjF8P%6uM&,U2:SHcnZGZ1ezu`=]t!?8!$^\j3{:pzi!@/_ Cancel-Lock: sha1:It/81+ajPmr/jYdQ6Rps8xmxG90= Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:42602 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:42602 Lars Magne Ingebrigtsen writes: > I hope it's correct, though... It wasn't, of course, but I've now made it not infloop, at least. Anyway, I've been elping some more. I find that it's typical for me to read large groups quite often. That is, I enter groups that have a very small number of new articles, and a huge number of older articles. I. e., a big NOV file. rec.arts.sf.fandom has a 16MB NOV file, and putting that file into a buffer takes (on this machine) half a second. So I've implemented a function `nnheader-insert-nov-file' that first inserts the last 8K into a buffer, and if the first NOV line we're looking for wasn't in that chunk, we just fall back to the old way of inserting the whole file into the buffer. (This could obviously be improved upon. :-) After doing that, entry time into these groups is halved, and instead of having time to blink between `RET' and reading, I, er, don't. Here are the new timings. Function Name Call Count Elapsed Time Average Time ====================================================== ========== ============ ============ gnus-summary-read-group-1 1 0.465545 0.465545 gnus-select-newsgroup 1 0.344302 0.344302 gnus-agent-load-alist 2 0.305771 0.1528855 Hm... This is called twice. Might be a bug. I'll investigate. Anyway. `gnus-agent-load-alist' is now the biggest time drain when entering a big agentized group (with few new articles, which is the common case). It's difficult imagining doing anything about it, though -- I don't think there's any more efficient way to read in a bunch of numbers than to put them in a list and calling `read' on the whole list. I could be wrong, though. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen