GNU bug report logs - #11624
Slowness with virtual groups

Previous Next

Package: gnus;

Reported by: John Wiegley <johnw <at> newartisans.com>

Date: Mon, 4 Jun 2012 07:18:01 UTC

Severity: normal

Tags: wontfix

Found in version 5.130006

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11624 in the body.
You can then email your comments to 11624 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Mon, 04 Jun 2012 07:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Wiegley <johnw <at> newartisans.com>:
New bug report received and forwarded. Copy sent to bugs <at> gnus.org. (Mon, 04 Jun 2012 07:18:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Wiegley <johnw <at> newartisans.com>
To: submit <at> debbugs.gnu.org (The Gnus Bugfixing Girls + Boys)
Cc: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Subject: Slowness with virtual groups
Date: Mon, 04 Jun 2012 02:15:32 -0500
Hello,

I recently added a LOT of read messages to some groups I have mapped in an
nnvirtual group.  Now, every time I hit 'g' in my *Group* buffer, it takes 44
seconds for nothing to happen.  It takes this long every time I hit 'g', even
if done immediately after.

Here are the ELP results:

--8<---------------cut here---------------start------------->8---
gnus-group-get-new-news                1           44.266004     44.266004
gnus-get-unread-articles               1           44.255942     44.255942
gnus-read-active-for-groups            11          44.242622     4.0220565454
gnus-activate-group                    7           43.951563     6.2787947142
nnvirtual-request-group                5           43.949273000  8.7898546000
nnvirtual-create-mapping               5           43.948769     8.7897538
nnvirtual-reverse-map-article          3445374     9.3037520002  2.700...e-06
nnvirtual-merge-sorted-lists           75          6.2297310000  0.0830630800
gnus-compress-sequence                 712         1.2107359999  0.0017004719
gnus-finish-retrieve-group-infos       2           0.2818409999  0.1409204999
nnimap-finish-retrieve-group-infos     1           0.281205      0.281205
nnimap-wait-for-response               1           0.265584      0.265584
nnheader-accept-process-output         28          0.2629859999  0.0093923571
gnus-topic-prepare-topic               24          0.018455      0.0007689583
gnus-cache-articles-in-group           130         0.017135      0.0001318076
nnimap-update-infos                    1           0.013326      0.013326
nnimap-update-info                     41          0.0126370000  0.0003082195
nnimap-update-qresync-info             41          0.0098389999  0.0002399756
gnus-cache-file-name                   130         0.009786      7.527...e-05
gnus-read-active-file-1                4           0.009648      0.002412
gnus-group-list-groups                 2           0.008211      0.0041055
gnus-group-prepare-topics              2           0.0071719999  0.0035859999
gnus-retrieve-group-data-early         4           0.006225      0.00155625
gnus-run-hooks                         16          0.0058650000  0.0003665625
nnimap-retrieve-group-data-early       2           0.005678      0.002839
nnmh-request-list-1                    3           0.005511      0.001837
gnus-request-list                      4           0.0052089999  0.0013022499
nnoo-parent-function                   3           0.0049159999  0.0016386666
nndraft-request-list                   1           0.004274      0.004274
nnmh-request-list                      1           0.004206      0.004206
gnus-topic-parent-topic                512         0.0040740000  7.957...e-06
gnus-topic-hierarchical-parameters     24          0.003825      0.0001593749
gnus-request-scan                      3           0.003082      0.0010273333
nnml-request-scan                      1           0.002996      0.002996
nnmail-get-new-mail                    1           0.002974      0.002974
nnmail-get-new-mail-1                  1           0.002968      0.002968
nnheader-message                       2           0.002921      0.0014605
gnus-current-topics                    24          0.002216      9.233...e-05
gnus-topic-find-topology               292         0.0019769999  6.770...e-06
gnus-add-to-range                      410         0.0017880000  4.360...e-06
gnus-request-update-info               7           0.0017059999  0.0002437142
nnimap-parse-flags                     1           0.001601      0.001601
gnus-message                           25          0.0015480000  6.192e-05
nnheader-message-maybe                 28          0.0015310000  5.467...e-05
gnus-group-set-parameter               123         0.001469      1.194...e-05
gnus-group-insert-group-line           6           0.0014570000  0.0002428333
gnus-group-save-newsrc                 1           0.001422      0.001422
gnus-open-server                       10          0.0014160000  0.0001416000
gnus-save-newsrc-file                  1           0.001416      0.001416
nndraft-request-update-info            2           0.0014        0.0007
gnus-active-to-gnus-format             5           0.001312      0.0002624
gnus-topic-parameters                  68          0.0012780000  1.879...e-05
nnimap-send-command                    41          0.00123       3e-05
nntp-with-open-group-function          3           0.001068      0.000356
gnus-update-format-specifications      4           0.0010659999  0.0002664999
gnus-server-opened                     37          0.0010039999  2.713...e-05
nndraft-possibly-change-group          4           0.0010010000  0.0002502500
--8<---------------cut here---------------end--------------->8---

Does this represent a speed problem with virtual groups, or do I have to avoid
having large groups aggregated in nnvirtual?

Thanks,
  John

Ma Gnus v0.6
GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47)
 of 2012-06-02 on vulcan.local
200 Leafnode NNTP daemon, version 2.0.0.alpha20110815a.luascript at newartisans.com 
500 Unknown command




Information forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Mon, 11 Jun 2012 21:06:01 GMT) Full text and rfc822 format available.

Message #8 received at 11624 <at> debbugs.gnu.org (full text, mbox):

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: John Wiegley <johnw <at> newartisans.com>
Cc: 11624 <at> debbugs.gnu.org
Subject: Re: bug#11624: Slowness with virtual groups
Date: Mon, 11 Jun 2012 23:02:32 +0200
John Wiegley <johnw <at> newartisans.com> writes:

> I recently added a LOT of read messages to some groups I have mapped in an
> nnvirtual group.  Now, every time I hit 'g' in my *Group* buffer, it takes 44
> seconds for nothing to happen.  It takes this long every time I hit 'g', even
> if done immediately after.
>
> Here are the ELP results:

Does `M-g' on the virtual group also take 44 seconds?  If so, can you
send the ELP output on `M-g'-ing the virtual group?

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Tue, 12 Jun 2012 18:42:02 GMT) Full text and rfc822 format available.

Message #11 received at 11624 <at> debbugs.gnu.org (full text, mbox):

From: John Wiegley <johnw <at> newartisans.com>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: 11624 <at> debbugs.gnu.org
Subject: Re: bug#11624: Slowness with virtual groups
Date: Tue, 12 Jun 2012 13:39:01 -0500
>>>>> Lars Magne Ingebrigtsen <larsi <at> gnus.org> writes:

> John Wiegley <johnw <at> newartisans.com> writes:
>> I recently added a LOT of read messages to some groups I have mapped in an
>> nnvirtual group.  Now, every time I hit 'g' in my *Group* buffer, it takes
>> 44 seconds for nothing to happen.  It takes this long every time I hit 'g',
>> even if done immediately after.
>> 
>> Here are the ELP results:

> Does `M-g' on the virtual group also take 44 seconds?  If so, can you send
> the ELP output on `M-g'-ing the virtual group?

M-g on the virtual group -- which references 25 local (Dovecot) IMAP groups --
takes 18s when there is no new mail available.  Below are the ELP results.

John

gnus-activate-group                           27          18.722542     0.6934274814
gnus-topic-get-new-news-this-topic            1           12.326267     12.326267
gnus-group-get-new-news-this-group            1           12.326228     12.326228
nnvirtual-request-group                       1           12.322866     12.322866
nnvirtual-create-mapping                      1           12.322745     12.322745
nnimap-request-group                          25          6.396344      0.25585376
nnimap-update-infos                           25          3.742512      0.14970048
nnimap-update-info                            25          3.741962      0.14967848
gnus-set-difference                           50          3.7230020000  0.0744600400
nnvirtual-reverse-map-article                 509809      1.8513919999  3.631...e-06
nnimap-wait-for-response                      25          1.785377      0.07141508
nnimap-parse-flags                            25          0.815576      0.03262304
nnvirtual-merge-sorted-lists                  15          0.692959      0.0461972666
nnheader-accept-process-output                384         0.2845970000  0.0007411380
gnus-compress-sequence                        264         0.1363189999  0.0005163598
nnimap-flags-to-marks                         25          0.047354      0.00189416
gnus-cache-articles-in-group                  25          0.0030949999  0.0001237999
gnus-cache-file-name                          25          0.0019930000  7.972...e-05
gnus-run-hooks                                3           0.00156       0.00052
gnus-delay-send-queue                         1           0.001551      0.001551
gnus-group-update-group                       1           0.001342      0.001342
gnus-group-set-parameter                      100         0.0012220000  1.222...e-05
nndraft-request-group                         1           0.001172      0.001172
gnus-topic-update-topic-line                  3           0.001032      0.0003439999
nnimap-send-command                           50          0.0010130000  2.026...e-05
gnus-server-opened                            27          0.0007809999  2.892...e-05
gnus-topic-update-topics-containing-group     1           0.000607      0.000607
nndraft-possibly-change-group                 1           0.000553      0.000553
nnimap-server-opened                          50          0.000548      1.096e-05
nndraft-open-server                           1           0.000532      0.000532
nnoo-parent-function                          1           0.000436      0.000436
nnimap-decode-gnus-group                      50          0.000427      8.540...e-06
nnmh-request-group                            1           0.00038       0.00038
gnus-range-difference                         50          0.0003670000  7.340...e-06
gnus-group-insert-group-line-info             1           0.000357      0.000357
nnimap-possibly-change-group                  25          0.0003469999  1.387...e-05
gnus-group-insert-group-line                  1           0.000346      0.000346
gnus-agent-possibly-alter-active              28          0.0003050000  1.089...e-05
nnmail-group-pathname                         3           0.000249      8.3e-05
gnus-parse-active                             27          0.0002180000  8.074...e-06
nnimap-store-info                             50          0.0001819999  3.639...e-06
gnus-cache-decoded-group-name                 25          0.0001730000  6.920...e-06
nndraft-articles                              1           0.000152      0.000152
gnus-topic-insert-topic-line                  3           0.000149      4.966...e-05
nnmh-possibly-change-directory                1           0.000142      0.000142
gnus-group-remove-parameter                   100         0.0001309999  1.309...e-06
gnus-topic-find-groups                        3           0.0001219999  4.066...e-05
nnimap-buffer                                 25          0.0001150000  4.600...e-06
gnus-topic-parent-topic                       17          0.0001129999  6.647...e-06
nnimap-find-connection                        50          0.0001039999  2.079...e-06
gnus-group-name-decode                        3           0.000103      3.433...e-05
gnus-agent-method-p                           29          0.0001009999  3.482...e-06
gnus-find-method-for-group                    6           9.6e-05       1.6e-05
gnus-info-set-entry                           125         8.799...e-05  7.039...e-07
gnus-make-directory                           1           8.3e-05       8.3e-05
gnus-group-prev-unread-group-same-level       1           8.2e-05       8.2e-05
gnus-group-remove-mark                        1           8e-05         8e-05
gnus-list-of-unread-articles                  25          7.800...e-05  3.120...e-06
gnus-group-position-point                     5           7.3e-05       1.459...e-05
gnus-request-update-info                      1           7.2e-05       7.2e-05
gnus-group-next-unread-group                  2           6.9e-05       3.45e-05
nnheader-insert                               2           6.9e-05       3.45e-05
gnus-group-highlight-line                     1           6e-05         6e-05
gnus-group-mark-group                         1           5.6e-05       5.6e-05
gnus-group-search-forward                     2           5.6e-05       2.8e-05
gnus-online                                   55          5.399...e-05  9.818...e-07
gnus-summary-buffer-name                      1           5.1e-05       5.1e-05
gnus-group-set-mode-line                      1           5.1e-05       5.1e-05
gnus-goto-colon                               5           4.9e-05       9.8e-06
gnus-group-decoded-name                       1           4.5e-05       4.5e-05
gnus-server-status                            27          4.4e-05       1.629...e-06
nnoo-current-server                           56          4.399...e-05  7.857...e-07
gnus-topic-goto-topic                         4           4e-05         1e-05
gnus-topic-find-topology                      8           3.500...e-05  4.375...e-06
gnus-mode-line-buffer-identification          1           3.5e-05       3.5e-05
gnus-group-update-eval-form                   1           3.4e-05       3.4e-05
gnus-range-add                                2           3.2e-05       1.6e-05
gnus-group-name-charset                       2           3.1e-05       1.55e-05
gnus-get-unread-articles-in-group             1           2.8e-05       2.8e-05
nnoo-change-server                            2           2.600...e-05  1.300...e-05
nnimap-log-command                            50          2.500...e-05  5.000...e-07
nnheader-init-server-buffer                   1           2.5e-05       2.5e-05
nnheader-translate-file-chars                 28          2.100...e-05  7.500...e-07
gnus-group-topic-p                            1           2.1e-05       2.1e-05
nnoo-server-opened                            3           2e-05         6.666...e-06
nnheader-report                               2           1.999...e-05  9.999...e-06
nnvirtual-request-update-info                 2           1.999...e-05  9.999...e-06
gnus-emacs-version                            1           1.9e-05       1.9e-05
nnimap-find-process-buffer                    25          1.700...e-05  6.800...e-07
gnus-group-process-prefix                     1           1.6e-05       1.6e-05
gnus-group-get-parameter                      2           1.6e-05       8e-06
gnus-use-long-file-name                       25          1.500...e-05  6.000...e-07
gnus-add-text-properties                      7           1.499...e-05  2.142...e-06
gnus-group-timestamp-delta                    1           1.4e-05       1.4e-05
gnus-virtual-group-p                          1           1.4e-05       1.4e-05
nnoo-backend                                  1           1.4e-05       1.4e-05
nndraft-server-opened                         1           1.4e-05       1.4e-05
gnus-methods-equal-p                          16          1.300...e-05  8.125...e-07
gnus-group-topic-name                         1           1.3e-05       1.3e-05
gnus-group-group-level                        1           1.2e-05       1.2e-05
gnus-group-goto-group                         1           1.2e-05       1.2e-05
nnvirtual-possibly-change-server              3           1.2e-05       4e-06
gnus-put-text-property                        5           1.1e-05       2.2e-06
nnvirtual-server-opened                       1           1.1e-05       1.1e-05
nnmh-server-opened                            1           1.1e-05       1.1e-05
gnus-get-function                             1           9e-06         9e-06
gnus-group-topic-unread                       8           9e-06         1.125e-06
gnus-put-text-property-excluding-characters-with-faces 1           9e-06         9e-06
nnheader-replace-duplicate-chars-in-string    3           8e-06         2.666...e-06
nnvirtual-current-group                       3           7e-06         2.333...e-06
gnus-undo-boundary                            4           6e-06         1.5e-06
gnus-group-parameter-value                    2           6e-06         3e-06
gnus-methods-sloppily-equal                   7           5.999...e-06  8.571...e-07
gnus-agent-save-group-info                    1           5e-06         5e-06
gnus-group-group-indentation                  2           4.999...e-06  2.499...e-06
gnus-group-group-name                         2           4.999...e-06  2.499...e-06
nnoo-parents                                  4           4.999...e-06  1.249...e-06
gnus-topic-update-unreads                     3           4e-06         1.333...e-06
nnheader-concat                               1           4e-06         4e-06
gnus-group-topic-level                        3           3e-06         1e-06
gnus-topic-visible-p                          3           3e-06         1e-06
gnus-remove-denial                            1           2e-06         2e-06
gnus-region-active-p                          1           2e-06         2e-06
nnoo-variables                                2           2e-06         1e-06
nnheader-re-read-dir                          2           2e-06         1e-06
gnus-group-get-icon                           1           1e-06         1e-06
gnus-topic-unread                             1           1e-06         1e-06
gnus-extent-start-open                        1           1e-06         1e-06
gnus-range-length                             1           1e-06         1e-06




Information forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Tue, 12 Jun 2012 18:44:02 GMT) Full text and rfc822 format available.

Message #14 received at 11624 <at> debbugs.gnu.org (full text, mbox):

From: John Wiegley <johnw <at> newartisans.com>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: 11624 <at> debbugs.gnu.org
Subject: Re: bug#11624: Slowness with virtual groups
Date: Tue, 12 Jun 2012 13:40:37 -0500
>>>>> John Wiegley <johnw <at> newartisans.com> writes:

> M-g on the virtual group -- which references 25 local (Dovecot) IMAP groups
> -- takes 18s when there is no new mail available.  Below are the ELP
> results.

Here are the message counts in those groups:

mailbox                messages recent unseen vsize                          
------------------------------------------------------
list.wg21.admin        1903     0      0      8613702                        
list.wg21.all          4119     0      0      19785019                       
list.wg21.comm         8        0      0      18264                          
list.wg21.compat       1411     0      0      5839262                        
list.wg21.core         23896    0      0      68808790                       
list.wg21.date-lib     210      0      0      2053990                        
list.wg21.edit         1215     0      0      2268430                        
list.wg21.embed        4        0      0      100494                         
list.wg21.env          563      0      0      1574636                        
list.wg21.ext          15284    0      0      54233222                       
list.wg21.ibof         4        0      0      35113                          
list.wg21.intl         221      0      0      1003327                        
list.wg21.lib          34328    0      0      89911277                       
list.wg21.migration    72       0      0      194927                         
list.wg21.modules      2        0      0      80070                          
list.wg21.networking   30       0      0      120095                         
list.wg21.news         257      0      0      2381908                        
list.wg21.parallel     194      0      0      580438                         
list.wg21.perf         272      0      0      849683                         
list.wg21.rationale    11       0      0      22923                          
list.wg21.sci          19       0      0      39385                          
list.wg21.syntax       349      0      0      878593                         
list.wg21.ustag        13       0      0      70770                          
list.isocpp.discussion 69       0      0      414767                         
list.isocpp.proposals  248      0      0      2928343                        

John




Information forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Wed, 20 Jun 2012 17:14:02 GMT) Full text and rfc822 format available.

Message #17 received at 11624 <at> debbugs.gnu.org (full text, mbox):

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: John Wiegley <johnw <at> newartisans.com>
Cc: 11624 <at> debbugs.gnu.org
Subject: Re: bug#11624: Slowness with virtual groups
Date: Wed, 20 Jun 2012 19:09:56 +0200
John Wiegley <johnw <at> newartisans.com> writes:

Actually, I think the `M-g' on the group is a red herring, because that
will trigger lots of network traffic.

The problem is here:

> nnvirtual-request-group                5           43.949273000  8.7898546000
> nnvirtual-create-mapping               5           43.948769     8.7897538
> nnvirtual-reverse-map-article          3445374     9.3037520002  2.700...e-06
> nnvirtual-merge-sorted-lists           75          6.2297310000  0.0830630800

It's calling `nnvirtual-reverse-map-article' a gazillion times.  That's
slow.  Looking at the code, it's been this way since nnvirtual was
created.

So I guess nnvirtual just isn't suited to deal with big groups.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to bugs <at> gnus.org:
bug#11624; Package gnus. (Fri, 22 Jun 2012 11:09:01 GMT) Full text and rfc822 format available.

Message #20 received at 11624 <at> debbugs.gnu.org (full text, mbox):

From: John Wiegley <johnw <at> newartisans.com>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: 11624 <at> debbugs.gnu.org
Subject: Re: bug#11624: Slowness with virtual groups
Date: Fri, 22 Jun 2012 06:04:46 -0500
>>>>> Lars Magne Ingebrigtsen <larsi <at> gnus.org> writes:

> So I guess nnvirtual just isn't suited to deal with big groups.

(The sound of me weeping tears of sadness into my "Bones of Steel" mug).

John




Added tag(s) wontfix. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 05 Sep 2012 18:35:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 11624 <at> debbugs.gnu.org and John Wiegley <johnw <at> newartisans.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 05 Sep 2012 18:35:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 04 Oct 2012 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 313 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.