From: Dan Christensen <jdc@uwo.ca>
To: ding@gnus.org
Subject: Re: Improving Gnus speed
Date: Sun, 05 Dec 2010 13:05:17 -0500 [thread overview]
Message-ID: <87mxokccyq.fsf@uwo.ca> (raw)
In-Reply-To: <m3ipz88dra.fsf@quimbies.gnus.org>
Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> Dan Christensen <jdc@uwo.ca> 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
next prev parent reply other threads:[~2010-12-05 18:05 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 [this message]
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
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=87mxokccyq.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).