From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/74705 Path: news.gmane.org!not-for-mail From: Dan Christensen Newsgroups: gmane.emacs.gnus.general Subject: Re: Improving Gnus speed Date: Sun, 05 Dec 2010 13:05:17 -0500 Message-ID: <87mxokccyq.fsf@uwo.ca> References: <87zktemkwl.fsf@uwo.ca> <87vd42mdci.fsf@uwo.ca> <87r5e555e0.fsf@uwo.ca> <87aaks53my.fsf@uwo.ca> <871v636fri.fsf@uwo.ca> <87wrnv4y2i.fsf@uwo.ca> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1291572380 27313 80.91.229.12 (5 Dec 2010 18:06:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 5 Dec 2010 18:06:20 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M23061@lists.math.uh.edu Sun Dec 05 19:06:15 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PPIyU-0006Uh-Fd for ding-account@gmane.org; Sun, 05 Dec 2010 19:06:14 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1PPIxs-0006K2-JT; Sun, 05 Dec 2010 12:05:36 -0600 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1PPIxr-0006Jo-6F for ding@lists.math.uh.edu; Sun, 05 Dec 2010 12:05:35 -0600 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1PPIxm-0001Mf-AX for ding@lists.math.uh.edu; Sun, 05 Dec 2010 12:05:35 -0600 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1PPIxl-0002mh-00 for ; Sun, 05 Dec 2010 19:05:29 +0100 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PPIxl-00067v-Du for ding@gnus.org; Sun, 05 Dec 2010 19:05:29 +0100 Original-Received: from bas3-london14-1096780378.dsl.bell.ca ([65.95.138.90]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 05 Dec 2010 19:05:29 +0100 Original-Received: from jdc by bas3-london14-1096780378.dsl.bell.ca with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 05 Dec 2010 19:05:29 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 108 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: bas3-london14-1096780378.dsl.bell.ca User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.50 (gnu/linux) Cancel-Lock: sha1:liVC3vcEcSzShTuPalmX6p3W+tk= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:74705 Archived-At: Lars Magne Ingebrigtsen writes: > Dan Christensen writes: > >>>> On my laptop, with 6500 articles, we're only talking about 1.3 seconds, >>>> so this is already pretty good. But I suspect it can be sped up. > > [...] > >> The 1.3 seconds I mentioned was just the time for date parsing. >> It takes something like 13 or 15 seconds for the full summary buffer >> generation in my test group. > > With only 6500 articles? What kind of CPU would that be? Core 2 Duo 2.2GHz. Here are the top elp-results from just entering this group, which has 6556 articles. Seems to be a lot of different things all contributing to this time. Sorting is more than I expected: 6.3s. But I'm a bit confused: I think times in the second-last column include the time spent in called functions, but gnus-sort-threads takes only 3.3s while gnus-sort-threads-recursive takes 6.3s. I thought g-s-t-r was only called from g-s-t!? And the other day, I posted the following timing info from a freshly started emacs: (benchmark-run 1 (gnus-sort-threads threads)) (1.638083 8 0.38992400000000016) I'm also confused by the number of calls to gnus-thread-total-score-1 (22704). First the data from a day-old emacs; afterwards, the data for a fresh emacs. gnus-topic-read-group 1 14.067652 14.067652 gnus-group-read-group 1 14.067596 14.067596 gnus-summary-read-group 1 14.067559 14.067559 gnus-summary-read-group-1 1 14.067547 14.067547 gnus-summary-prepare 1 9.758998 9.758998 gnus-sort-threads-recursive 3844 6.3334839999 0.0016476285 gnus-summary-prepare-threads 1 5.421154 5.421154 gnus-select-newsgroup 1 4.298248 4.298248 gnus-fetch-headers 1 4.274015 4.274015 gnus-sort-threads 1 3.306262 3.306262 gnus-thread-sort-by-most-recent-date 17741 3.1533499999 0.0001777436 gnus-thread-latest-date 35482 3.0043529999 8.467...e-05 gnus-get-newsgroup-headers 1 2.925865 2.925865 gnus-retrieve-headers 2 2.6951549999 1.3475774999 gnus-user-format-function-s 6558 1.6891390000 0.0002575692 gnus-replace-in-string 6559 1.6063970000 0.0002449149 gnus-thread-total-score 22704 1.4428329999 6.354...e-05 gnus-cache-retrieve-headers 1 1.347705 1.347705 gnus-thread-total-score-1 22704 1.3222239999 5.823...e-05 gnus-run-hooks 11 0.914453 0.0831320909 gnus-registry-register-message-ids 1 0.9140429999 0.9140429999 gnus-registry-fetch-message-id-fast 6556 0.8349619999 0.0001273584 gnus-user-date 6558 0.5879020000 8.964...e-05 gnus-simplify-subject-fuzzy 8487 0.4746110000 5.592...e-05 gnus-user-format-function-t 6558 0.4306520000 6.566...e-05 gnus-summary-from-or-to-or-newsgroups 6558 0.3486270000 5.316...e-05 gnus-summary-highlight-line 6558 0.3438830000 5.243...e-05 gnus-float-time 134926 0.3180409999 2.357...e-06 gnus-put-text-property 26236 0.2860350000 1.090...e-05 gnus-seconds-year 6537 0.1706889999 2.611...e-05 gnus-put-text-property-excluding-characters-with-faces 6559 0.1672420000 2.549...e-05 After restarting emacs, the numbers look a bit better (especially gnus-sort-threads-recursive): gnus-topic-read-group 1 13.214392 13.214392 gnus-group-read-group 1 13.214339 13.214339 gnus-summary-read-group 1 13.214303 13.214303 gnus-summary-read-group-1 1 13.214291 13.214291 gnus-summary-prepare 1 9.061338 9.061338 gnus-summary-prepare-threads 1 5.205671 5.205671 gnus-sort-threads-recursive 3844 4.8261949999 0.0012555137 gnus-select-newsgroup 1 4.1157070000 4.1157070000 gnus-fetch-headers 1 4.095992 4.095992 gnus-get-newsgroup-headers 1 2.736999 2.736999 gnus-retrieve-headers 2 2.7169679999 1.3584839999 gnus-sort-threads 1 2.71412 2.71412 gnus-thread-sort-by-most-recent-date 17741 2.6269509999 0.0001480723 gnus-thread-latest-date 35482 2.4759769999 6.978...e-05 gnus-thread-total-score 22704 2.1373710000 9.414...e-05 gnus-thread-total-score-1 22704 1.9588889999 8.627...e-05 gnus-user-format-function-s 6558 1.7538890000 0.0002674426 gnus-replace-in-string 6559 1.6119780000 0.0002457658 gnus-cache-retrieve-headers 1 1.358604 1.358604 gnus-run-hooks 13 0.972687 0.0748220769 gnus-registry-register-message-ids 1 0.972067 0.972067 gnus-registry-fetch-message-id-fast 6556 0.8265469999 0.0001260748 gnus-user-format-function-t 6558 0.6889870000 0.0001050605 gnus-user-date 6558 0.5876640000 8.961...e-05 gnus-simplify-subject-fuzzy 8487 0.4407050000 5.192...e-05 gnus-float-time 134926 0.3646349999 2.702...e-06 gnus-summary-from-or-to-or-newsgroups 6558 0.2739099999 4.176...e-05 gnus-summary-highlight-line 6558 0.2018580000 3.078...e-05 gnus-seconds-year 6537 0.1698009999 2.597...e-05 gnus-put-text-property 26236 0.1380570000 5.262...e-06 gnus-seconds-today 6558 0.1306740000 1.992...e-05 gnus-registry-fetch-groups 6556 0.0946810000 1.444...e-05 gnus-put-text-property-excluding-characters-with-faces 6559 0.0879599999 1.341...e-05 gnus-make-threads 1 0.086339 0.086339 gnus-gather-threads-by-subject 1 0.077483 0.077483 gnus-id-to-thread 22704 0.0766690000 3.376...e-06 gnus-extract-address-components 6558 0.0762749999 1.163...e-05 Dan