From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/62329 Path: news.gmane.org!not-for-mail From: Elias Oltmanns Newsgroups: gmane.emacs.gnus.general Subject: Re: No Gnus v0.4 / emacs-cvs terribly slowly operating on large nnfolders Date: Tue, 21 Mar 2006 00:33:25 +0100 Message-ID: <871wwwofne.fsf@denkblock.local> References: <878xr6klq1.fsf@denkblock.local> <87ek0xzm9c.fsf@rimspace.net> <87u09tjvdk.fsf@denkblock.local> <871wwxz73o.fsf@rimspace.net> <87mzfl87eu.fsf@denkblock.local> <87acbku6yh.fsf@pacem.orebokech.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1142897684 24494 80.91.229.2 (20 Mar 2006 23:34:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 20 Mar 2006 23:34:44 +0000 (UTC) Original-X-From: ding-owner+m10856@lists.math.uh.edu Tue Mar 21 00:34:42 2006 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FLTtW-0005Ml-0p for ding-account@gmane.org; Tue, 21 Mar 2006 00:34:38 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1FLTtP-0004se-00; Mon, 20 Mar 2006 17:34:31 -0600 Original-Received: from nas02.math.uh.edu ([129.7.128.40]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1FLTsf-0004sZ-00 for ding@lists.math.uh.edu; Mon, 20 Mar 2006 17:33:45 -0600 Original-Received: from quimby.gnus.org ([80.91.224.244]) by nas02.math.uh.edu with esmtp (Exim 4.52) id 1FLTsc-0000yG-B1 for ding@lists.math.uh.edu; Mon, 20 Mar 2006 17:33:45 -0600 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1FLTsb-0007sG-00 for ; Tue, 21 Mar 2006 00:33:41 +0100 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1FLTsV-0005Ad-P6 for ding@gnus.org; Tue, 21 Mar 2006 00:33:35 +0100 Original-Received: from p50886a05.dip.t-dialin.net ([80.136.106.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Mar 2006 00:33:35 +0100 Original-Received: from oltmanns by p50886a05.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Mar 2006 00:33:35 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: ding@gnus.org Original-Lines: 111 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: p50886a05.dip.t-dialin.net User-Agent: Gnus/5.110004 (No Gnus v0.4) Cancel-Lock: sha1:/5ypOAF8pVSVIvITL4NVhsm2LKY= X-Spam-Score: -2.6 (--) Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: news.gmane.org gmane.emacs.gnus.general:62329 Archived-At: --=-=-= Romain Francoise wrote: > Elias Oltmanns writes: > >> So far I managed to rule out search-* and re-search-*. > > How? Of course, I didn't! Accidentally watched the wrong counter ... In fact, there is a very significant difference in performance. [...] > I think the problem with this function is that we call > `search-forward' and `re-search-forward' alternatively for each > message, which duplicates all the work of setting up Boyer-Moore > tables, and possibly just thrashes search caches between each call. > > I get a very significant performance boost with this simple patch > which just merges the two searches into one: on a 65M file, calling > the function now takes 10 seconds instead of 23 on my (slow) > machine. Could you try it out? Very nice. Performance increased quite a bit. However, whereas this change improves performance under emacs 22, it hardly affects performance under emacs 21 at all (stripped versions of new profiles attached). Besides, there seem to be similar problems in other functions as there are still striking differences in my profiles (note nnfolder-existing-articles and gnus-get-newsgroup-headers-xover in particular) and expiration still is much slower in emacs 22. Regards, Elias ---- Profile emacs 21.4.1 ---- --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=prof21 Function Name Call Count Elapsed Time Average Time ====================================================== ========== ============ ============ gnus-group-select-group 1 3.531766 3.531766 gnus-group-read-group 1 3.531742 3.531742 gnus-summary-read-group 1 3.531643 3.531643 gnus-summary-read-group-1 1 3.531621 3.531621 gnus-select-newsgroup 1 2.524066 2.524066 gnus-fetch-headers 1 2.515859 2.515859 nnfolder-read-folder 1 1.900141 1.900141 nnheader-find-file-noselect 1 1.280613 1.280613 gnus-cache-retrieve-headers 2 2.268588 1.134294 gnus-retrieve-headers 4 4.5365540000 1.1341385000 nnfolder-retrieve-headers 2 2.267596 1.133798 gnus-summary-prepare 1 0.953777 0.953777 gnus-summary-prepare-threads 1 0.855174 0.855174 gnus-summary-prepare-unthreaded 1 0.85414 0.85414 nnfolder-possibly-change-group 3 1.90113 0.63371 gnus-get-newsgroup-headers-xover 1 0.605513 0.605513 nnfolder-existing-articles 1 0.358229 0.358229 gnus-sort-articles 1 0.098472 0.098472 gnus-summary-setup-buffer 1 0.02565 0.02565 gnus-summary-mode 1 0.025266 0.025266 gnus-summary-make-menu-bar 1 0.011286 0.011286 gnus-summary-initial-limit 1 0.008198 0.008198 nnheader-insert-file-contents 1 0.007637 0.007637 gnus-group-update-group 1 0.006604 0.006604 --=-=-= ---- Profile emacs 21.4.1 ---- ---- Profile emacs 22.0.50.1 ---- --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=prof22 Function Name Call Count Elapsed Time Average Time ====================================================== ========== ============ ============ gnus-group-select-group 1 3.943411 3.943411 gnus-group-read-group 1 3.943388 3.943388 gnus-summary-read-group 1 3.943293 3.943293 gnus-summary-read-group-1 1 3.943274 3.943274 gnus-select-newsgroup 1 2.989176 2.989176 gnus-fetch-headers 1 2.983292 2.983292 nnfolder-read-folder 1 1.700333 1.700333 gnus-cache-retrieve-headers 2 2.803667 1.4018335 gnus-retrieve-headers 4 5.606614 1.4016535 nnfolder-retrieve-headers 2 2.8025830000 1.4012915000 gnus-get-newsgroup-headers-xover 1 1.273701 1.273701 nnheader-find-file-noselect 1 1.105102 1.105102 nnfolder-existing-articles 1 1.094185 1.094185 gnus-summary-prepare 1 0.816648 0.816648 gnus-summary-prepare-threads 1 0.793226 0.793226 gnus-summary-prepare-unthreaded 1 0.792235 0.792235 nnfolder-possibly-change-group 3 1.701399 0.567133 gnus-summary-setup-buffer 1 0.1114420000 0.1114420000 gnus-summary-mode 1 0.1109719999 0.1109719999 gnus-summary-make-menu-bar 1 0.0953239999 0.0953239999 gnus-sort-articles 1 0.0233 0.0233 gnus-group-update-group 1 0.006611 0.006611 nnheader-insert-file-contents 1 0.006487 0.006487 gnus-summary-initial-limit 1 0.006373 0.006373 --=-=-= ---- Profile emacs 22.0.50.1 ---- --=-=-=--