Subject: bug#11624: Slowness with virtual groups

From: John Wiegley <[email-masked]>
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