From: Ted Zlatanov <tzz@lifelogs.com>
Subject: Gnus with IMAP slowness
Date: Mon, 22 Sep 2003 16:04:05 -0400 [thread overview]
Message-ID: <4npthspp3e.fsf@lockgroove.bwh.harvard.edu> (raw)
Hello,
I use IMAP with Gnus. It's very slow, around 30 seconds to get new
mail. I did profiling and the main culprit appears to be imap.el, not
my spam splitting functions. I'm considering moving to another mail
server, but first I'd like to know if something is misconfigured, or
if there's room for improvement in imap.el. Mozilla Mail seems much
faster, for comparison. I'm on a fast network link.
Gnus always pauses right before the "nnimap: Mailbox xyz modified"
message, where xyz is the last mailbox to be "quickly checked" and
the first to be seen as "modified". This is what I mean:
nnimap: Checking mailboxes...
nnimap: Quickly checking mailbox ietf
[ very quick, maybe 1 second ]
nnimap: Quickly checking mailbox INBOX.Drafts
[ pause! ]
nnimap: Mailbox INBOX.Drafts modified
[ slow, maybe 10 - 20 seconds ]
nnimap: Mailbox ietf modified
[ slow, maybe 3 seconds ]
nnimap: Checking mailboxes...done
Here are the ELP results. I instrumented the gnus, nnimap, imap,
nnml, and nnmail packages for a single call of gnus-group-get-news.
Sorry for the verbosity, I wasn't sure what could be important.
Thanks!
Ted
Function Name Call Count Elapsed Time Average Time
============================================================================ ========== ============ ============
imap-wait-for-tag 142 114.03148800 0.8030386478
gnus-group-get-new-news 1 97.291955 97.291955
gnus-read-active-file 1 85.126756 85.126756
gnus-read-active-file-1 2 85.126123 42.5630615
gnus-read-active-file-2 1 75.543256 75.543256
gnus-retrieve-groups 1 75.539963 75.539963
nnimap-retrieve-groups 1 75.539852 75.539852
imap-send-command-wait 104 70.228839999 0.6752773076
imap-mailbox-select 53 45.46349 0.8578016981
nnimap-find-minmax-uid 50 44.652014 0.89304028
imap-mailbox-select-1 53 43.956616000 0.8293701132
gnus-server-read-server 1 39.406937 39.406937
gnus-browse-foreign-server 1 39.405209 39.405209
gnus-request-list 2 38.887633 19.4438165
nnimap-request-list 1 38.88506 38.88506
imap-mailbox-status 5 24.950959 4.9901918
gnus-get-unread-articles 1 11.956423 11.956423
gnus-activate-group 76 11.120531000 0.1463227763
gnus-request-scan 3 9.1132859999 3.0377619999
nnimap-request-scan 1 8.868976 8.868976
nnimap-split-articles 1 8.868946 8.868946
nnmail-cache-close 2 6.689389 3.3446945
nnmail-write-region 1 6.659418 6.659418
nnmail-split-it 37 3.3907239999 0.0916411891
gnus-summary-exit 1 2.555812 2.555812
gnus-open-server 8 2.456437 0.307054625
gnus-close-group 1 1.912275 1.912275
nnimap-close-group 1 1.91203 1.91203
nnimap-possibly-change-group 4 1.8359210000 0.4589802500
nnimap-split-to-groups 2 1.697452 0.848726
nnimap-split-fancy 2 1.6964409999 0.8482204999
nnmail-split-fancy 2 1.696381 0.8481905
gnuserv-kill-buffer-function 463 1.5335299999 0.0033121598
gnuserv-buffer-clients 463 1.4721290000 0.0031795442
gnus-topic-parent-topic 855 1.0406199999 0.0012170994
spam-split 2 1.027661 0.5138305
imap-fetch 39 0.995481 0.0255251538
gnus-server-opened 93 0.9384100000 0.0100904301
gnus-group-enter-server-mode 1 0.934613 0.934613
gnus-enter-server-buffer 1 0.934578 0.934578
gnus-server-prepare 1 0.931889 0.931889
gnus-server-insert-server-line 12 0.9303560000 0.0775296666
spam-check-blackholes 1 0.923032 0.923032
imap-arrival-filter 148 0.7111140000 0.0048048243
gnus-registry-split-fancy-with-parent 2 0.66152 0.33076
nnml-request-update-info 12 0.65297 0.0544141666
gnus-group-prefixed-name 162 0.6058169999 0.0037396111
gnus-run-hooks 51 0.5993109999 0.0117511960
imap-find-next-line 789 0.5495799999 0.0006965525
gnus-registry-fetch-extra 3428 0.5374009999 0.0001567680
gnus-topic-hierarchical-parameters 33 0.5369280000 0.0162705454
spam-summary-prepare-exit 1 0.531111 0.531111
gnus-message 89 0.529582 0.0059503595
gnus-group-find-parameter 17 0.5246979999 0.0308645882
gnus-current-topics 33 0.5234680000 0.0158626666
gnus-group-topic-parameters 17 0.52213 0.0307135294
gnus-group-fast-parameter 16 0.521957 0.0326223125
gnuserv-kill-buffer-query-function 463 0.518521 0.0011199157
spam-group-processor-p 5 0.5095789999 0.1019157999
gnus-parameter-spam-process 5 0.5094540000 0.1018908000
gnuserv-buffer-p 463 0.5038910000 0.0010883174
spam-group-spam-processor-report-gmane-p 1 0.503806 0.503806
gnus-server-add-address 417 0.5017520000 0.0012032422
gnus-add-text-properties 108 0.4930799999 0.0045655555
nnml-marks-changed-p 12 0.4027559999 0.0335629999
gnus-topic-prepare-topic 16 0.278998 0.017437375
nnml-possibly-change-directory 25 0.254758 0.01019032
nnimap-update-unseen 1 0.201667 0.201667
nnml-request-scan 1 0.1738229999 0.1738229999
nnmail-get-new-mail 1 0.1737340000 0.1737340000
imap-message-copy 2 0.132092 0.066046
gnus-parse-netrc 8 0.1230989999 0.0153873749
imap-mailbox-list 1 0.123066 0.123066
imap-parse-response 639 0.1092920000 0.0001710359
imap-mailbox-get 246 0.0950390000 0.0003863373
nnmaildir-close-group 1 0.091737 0.091737
gnus-group-list-groups 1 0.089178 0.089178
gnus-group-prepare-topics 1 0.087747 0.087747
nnimap-request-head 2 0.0758119999 0.0379059999
nnimap-request-article-part 2 0.075623 0.0378115
spam-check-BBDB 1 0.070382 0.070382
nnmaildir-request-scan 1 0.0700720000 0.0700720000
gnus-master-read-slave-newsrc 1 0.069781 0.069781
nnmaildir--scan 1 0.0696440000 0.0696440000
nnmail-activate 1 0.0645289999 0.0645289999
nnmail-cache-open 1 0.064068 0.064068
gnus-summary-update-info 1 0.061984 0.061984
gnus-group-insert-group-line 30 0.0616780000 0.0020559333
imap-mailbox-status-asynch 38 0.0494390000 0.0013010263
gnus-display-time-event-handler 1 0.049347 0.049347
imap-message-flags-add 2 0.046191 0.0230955
imap-send-command 143 0.0448650000 0.0003137412
nnimap-verify-uidvalidity 2 0.0365599999 0.0182799999
imap-send-command-1 143 0.0364829999 0.0002551258
gnus-delete-file 1 0.035323 0.035323
imap-mailbox-map-1 2 0.032489 0.0162445
imap-parse-resp-text 317 0.0302319999 9.536...e-05
imap-current-mailbox 50 0.0286619999 0.0005732399
imap-mailbox-expunge 2 0.025916 0.012958
gnus-mark-xrefs-as-read 1 0.024431 0.024431
imap-search 1 0.02438 0.02438
gnus-create-xref-hashtb 1 0.02416 0.02416
imap-mailbox-close 1 0.023982 0.023982
imap-parse-resp-text-code 317 0.0227920000 7.189...e-05
gnus-group-update-group 1 0.021283 0.021283
imap-parse-flag-list 148 0.0196210000 0.0001325743
gnus-update-marks 1 0.014854 0.014854
gnus-topic-find-topology 418 0.0148520000 3.553...e-05
nnmail-cache-insert 2 0.013565 0.0067825
gnus-score-save 1 0.013554 0.013554
gnus-registry-spool-action 2 0.013044 0.006522
gnus-group-highlight-line 30 0.0129160000 0.0004305333
gnus-user-format-function-X 30 0.012764 0.0004254666
spam-check-regex-headers 2 0.01242 0.00621
gnus-group-name-decode 89 0.0116770000 0.0001312022
gnus-number-of-unseen-articles-in-group 30 0.011563 0.0003854333
gnus-topic-update-topic-line 4 0.011348 0.002837
gnus-get-function 171 0.0109770000 6.419...e-05
gnus-topic-parameters 103 0.0105979999 0.0001028932
imap-parse-status 43 0.010174 0.0002366046
nnml-request-group 12 0.0099029999 0.0008252499
imap-parse-data-list 46 0.0095349999 0.0002072826
gnus-agent-get-function 264 0.0090009999 3.409...e-05
gnus-range-difference 60 0.0089130000 0.0001485500
imap-mailbox-put 625 0.0087589999 1.401...e-05
gnus-server-extend-method 288 0.008746 3.036...e-05
gnus-configure-windows 3 0.008624 0.0028746666
nnmail-group-pathname 46 0.0084940000 0.0001846521
gnus-prin1-to-string 1 0.008421 0.008421
gnus-summary-buffer-name 29 0.0083800000 0.0002889655
gnus-remove-from-range 18 0.0083230000 0.0004623888
nnml-request-list 2 0.0082370000 0.0041185000
gnus-group-decoded-name 29 0.0076279999 0.0002630344
gnus-find-method-for-group 116 0.0073609999 6.345...e-05
imap-parse-fetch 78 0.0072450000 9.288...e-05
gnus-check-backend-function 119 0.0067049999 5.634...e-05
gnus-parameter-spam-contents 4 0.0060929999 0.0015232499
nnmail-find-file 2 0.006076 0.003038
gnus-topic-update-topics-containing-group 1 0.005623 0.005623
gnus-server-get-method 256 0.0055430000 2.165...e-05
gnus-copy-sequence 162 0.0050529999 3.119...e-05
spam-group-spam-contents-p 3 0.004662 0.001554
gnus-parse-active 61 0.004396 7.206...e-05
nnmaildir--param 4 0.004367 0.00109175
gnus-online 327 0.0043129999 1.318...e-05
gnus-dribble-enter 1 0.004154 0.004154
gnus-active-to-gnus-format 2 0.00415 0.002075
gnus-summary-expire-articles 1 0.004147 0.004147
gnus-group-get-parameter 83 0.00413 4.975...e-05
imap-point-at-eol 463 0.0040970000 8.848...e-06
nnmail-purge-split-history 1 0.003889 0.003889
gnus-group-timestamp-delta 30 0.0034209999 0.0001140333
gnus-topic-insert-topic-line 11 0.002955 0.0002686363
spam-mark-spam-as-expired-and-move-routine 2 0.0029 0.00145
gnus-group-name-charset 59 0.0028179999 4.776...e-05
gnus-topic-find-groups 20 0.002261 0.00011305
gnus-group-insert-group-line-info 1 0.002215 0.002215
gnus-registry-add-group 2 0.002131 0.0010655
imap-message-put 82 0.0020700000 2.524...e-05
gnus-server-setup-buffer 1 0.002035 0.002035
gnus-buffer-live-p 169 0.0020209999 1.195...e-05
nnmail-get-active 2 0.002012 0.001006
nnmail-parse-active 2 0.001941 0.0009705
gnus-agent-save-group-info 61 0.0019219999 3.150...e-05
gnus-server-mode 1 0.001742 0.001742
gnus-set-format 2 0.0017139999 0.0008569999
gnus-parse-format 2 0.001564 0.000782
gnus-group-group-name 41 0.0015620000 3.809...e-05
spam-group-spam-processor-stat-p 1 0.001562 0.001562
spam-group-spam-processor-spamoracle-p 1 0.001544 0.001544
spam-group-ham-contents-p 1 0.001537 0.001537
imap-current-mailbox-p 2 0.001524 0.000762
imap-message-map 37 0.0014800000 4e-05
spam-group-ham-processor-copy-p 1 0.001446 0.001446
gnus-server-to-method 159 0.0014129999 8.886...e-06
gnus-parameter-spam-process-destination 1 0.001412 0.001412
gnus-group-goto-group 19 0.001384 7.284...e-05
spam-group-spam-processor-blacklist-p 1 0.001339 0.001339
gnus-server-update-server 1 0.00131 0.00131
gnus-group-total-expirable-p 1 0.001302 0.001302
gnus-registry-store-extra-entry 6 0.001281 0.0002135
nnmail-fetch-field 4 0.001244 0.000311
gnus-check-server 5 0.001205 0.0002409999
gnus-point-at-eol 132 0.0012009999 9.098...e-06
nnmaildir--group-ls 1 0.001082 0.001082
gnus-server-status 93 0.0010689999 1.149...e-05
gnus-server-make-menu-bar 1 0.00106 0.00106
gnus-goto-colon 12 0.0010580000 8.816...e-05
gnus-update-read-articles 5 0.001055 0.0002109999
gnus-byte-compile 1 0.001029 0.001029
gnus-group-parameter-value 82 0.0010000000 1.219...e-05
gnus-configure-frame 6 0.000969 0.0001615
gnus-update-format-specifications 2 0.000912 0.000456
gnus-parse-complex-format 1 0.000893 0.000893
gnus-point-at-bol 73 0.0008579999 1.175...e-05
gnus-remove-if 106 0.0008479999 7.999...e-06
gnus-current-topic 13 0.0008390000 6.453...e-05
gnus-put-text-property-excluding-characters-with-faces 30 0.000832 2.773...e-05
gnus-make-directory 4 0.0008289999 0.0002072499
gnus-group-set-mode-line 4 0.000774 0.0001935
gnus-all-windows-visible-p 3 0.000729 0.0002430000
gnus-browse-mode 1 0.000725 0.000725
gnus-uncompress-range 30 0.0007160000 2.386...e-05
gnus-complex-form-to-spec 2 0.00071 0.000355
gnus-summary-unmark-all-processable 4 0.000701 0.00017525
gnus-put-text-property 53 0.0007000000 1.320...e-05
gnus-parse-simple-format 4 0.000663 0.00016575
gnus-range-add 12 0.0006590000 5.491...e-05
gnus-registry-delete-group 2 0.0006490000 0.0003245000
nnml-server-opened 40 0.0006260000 1.565...e-05
gnus-set-global-variables 3 0.000602 0.0002006666
gnus-compress-sequence 10 0.0005760000 5.760...e-05
gnus-summary-position-point 4 0.000562 0.0001405
gnus-continuum-version 4 0.000543 0.00013575
gnus-browse-make-menu-bar 1 0.000508 0.000508
gnus-summary-kill-process-mark 2 0.0005059999 0.0002529999
gnus-group-level 44 0.0004980000 1.131...e-05
nnimap-server-opened 5 0.000498 9.96e-05
gnus-kill-save-kill-buffer 1 0.000482 0.000482
gnus-registry-store-extra 6 0.0004740000 7.900...e-05
gnus-agent-mode 1 0.00044 0.00044
gnus-get-buffer-window 3 0.000424 0.0001413333
gnus-summary-yank-process-mark 2 0.000424 0.000212
gnus-group-position-point 4 0.000399 9.975e-05
imap-current-mailbox-p-1 55 0.000377 6.854...e-06
gnus-summary-process-mark-set 2 0.000368 0.000184
gnus-topic-update-unreads 27 0.0003559999 1.318...e-05
gnus-server-position-point 4 0.000355 8.875e-05
gnus-get-buffer-create 6 0.000352 5.866...e-05
gnus-agent-method-p 63 0.0003510000 5.571...e-06
gnus-newsgroup-kill-file 1 0.000348 0.000348
gnus-registry-fetch-group 5 0.000334 6.68e-05
gnus-range-length 30 0.000329 1.096...e-05
gnus-group-topic-unread 11 0.000325 2.954...e-05
imap-opened 6 0.000311 5.183...e-05
gnus-async-prefetch-remove-group 1 0.000304 0.000304
gnus-registry-simplify-subject 3 0.000296 9.866...e-05
gnus-group-jump-to-group 1 0.000288 0.000288
gnus-server-equal 14 0.0002690000 1.921...e-05
nnmaildir-request-update-info 2 0.00024 0.00012
gnus-methods-using 8 0.000238 2.975e-05
nnmaildir-request-group 2 0.000238 0.000119
gnus-mode-line-buffer-identification 4 0.000233 5.825e-05
gnus-group-short-name 4 0.000226 5.65e-05
gnus-group-prepare-logic 48 0.0002240000 4.666...e-06
gnus-simplify-subject 3 0.000219 7.3e-05
gnus-group-topic 4 0.0002150000 5.375...e-05
gnus-netrc-machine 8 0.0002110000 2.637...e-05
gnus-ephemeral-group-p 3 0.0002089999 6.966...e-05
gnus-topic-goto-topic 5 0.000205 4.1e-05
gnus-group-asynchronous-p 1 0.000192 0.000192
gnus-server-goto-server 1 0.00019 0.00019
gnus-virtual-group-p 3 0.000188 6.266...e-05
nnmail-cache-primary-mail-backend 2 0.000187 9.35e-05
gnus-group-next-unread-group 1 0.000185 0.000185
gnus-server-server-name 2 0.0001660000 8.300...e-05
gnus-agent-server-make-menu-bar 1 0.000163 0.000163
gnus-group-real-prefix 5 0.000158 3.159...e-05
gnus-split-references 1 0.000155 0.000155
gnus-registry-grep-in-list 10 0.000153 1.53e-05
gnus-group-set-parameter 1 0.000152 0.000152
gnus-group-search-forward 1 0.000152 0.000152
gnus-registry-group-count 13 0.0001519999 1.169...e-05
gnus-topic-goto-next-group 1 0.000151 0.000151
gnus-summary-clear-local-variables 4 0.00015 3.75e-05
gnus-turn-off-edit-menu 2 0.000147 7.35e-05
gnus-extent-start-open 37 0.000143 3.864...e-06
nnmaildir--prepare 7 0.000141 2.014...e-05
gnus-topic-visible-p 4 0.000138 3.45e-05
gnus-newsgroup-directory-form 1 0.000137 0.000137
gnus-set-work-buffer 5 0.000133 2.660...e-05
gnus-cache-possibly-remove-articles 1 0.000133 0.000133
gnus-netrc-get 24 0.0001309999 5.458...e-06
gnus-topic-mode-p 18 0.000127 7.055...e-06
gnus-asynchronous-p 1 0.00012 0.00012
gnus-group-remove-excess-properties 30 0.0001160000 3.866...e-06
gnus-agent-save-active 2 0.000112 5.6e-05
gnus-extract-address-components 1 0.000111 0.000111
gnus-group-topic-level 4 0.000106 2.65e-05
nnimap-demule 2 0.000105 5.25e-05
gnus-frames-on-display-list 3 9.7e-05 3.233...e-05
gnus-registry-fetch-extra-entry 14 9.099...e-05 6.5e-06
gnus-group-set-info 1 8.7e-05 8.7e-05
gnus-article-mark-to-type 14 8.499...e-05 6.071...e-06
gnus-undo-register 1 8.4e-05 8.4e-05
gnus-method-option-p 2 8.2e-05 4.1e-05
imap-capability 2 8.2e-05 4.1e-05
gnus-group-quit-config 1 7e-05 7e-05
gnus-group-group-indentation 2 6.8e-05 3.4e-05
gnus-article-unpropagatable-p 14 6.7e-05 4.785...e-06
gnus-agent-save-active-1 2 6.400...e-05 3.200...e-05
nnmail-expand-newtext 2 6.1e-05 3.05e-05
nnimap-possibly-change-server 7 5.9e-05 8.428...e-06
gnus-undo-register-1 1 5.8e-05 5.8e-05
gnus-simplify-mode-line 2 5.3e-05 2.65e-05
gnus-async-set-buffer 1 5e-05 5e-05
gnus-get-unread-articles-in-group 1 5e-05 5e-05
nnmaildir--pgname 4 4.8e-05 1.2e-05
gnus-newsgroup-savable-name 1 4.5e-05 4.5e-05
gnus-list-of-unread-articles 1 4.3e-05 4.3e-05
gnus-group-setup-buffer 1 4.2e-05 4.2e-05
gnus-assq-delete-all 6 4.2e-05 7e-06
gnus-make-hashtable 2 4e-05 2e-05
imap-message-get 2 3.9e-05 1.95e-05
gnus-uu-clean-up 1 3.6e-05 3.6e-05
gnus-window-to-buffer-helper 6 3.3e-05 5.500...e-06
gnus-undo-boundary 3 2.9e-05 9.666...e-06
nnmail-get-value 1 2.9e-05 2.9e-05
gnus-article-forward-header 1 2.8e-05 2.8e-05
gnus-cache-possibly-remove-articles-1 1 2.7e-05 2.7e-05
gnus-visual-p 3 2.600...e-05 8.666...e-06
nnmaildir-server-opened 3 2.600...e-05 8.666...e-06
gnus-windows-old-to-new 3 2.499...e-05 8.333...e-06
gnus-summary-save-process-mark 2 2.499...e-05 1.249...e-05
gnus-methods-equal-p 2 1.8e-05 9e-06
gnus-info-set-entry 2 1.7e-05 8.5e-06
gnus-group-default-level 2 1.6e-05 8e-06
gnus-group-remove-parameter 1 1.6e-05 1.6e-05
gnus-sorted-union 1 1.5e-05 1.5e-05
nnimap-pattern-to-list-arguments 1 1.5e-05 1.5e-05
nnimap-before-find-minmax-bugworkaround 2 1.300...e-05 6.500...e-06
spam-setup-widening 1 1.2e-05 1.2e-05
gnus-set-default-directory 2 1.1e-05 5.5e-06
gnus-mouse-face-function 1 1e-05 1e-05
nnmaildir--group-maxnum 1 1e-05 1e-05
nnmaildir--up2-1 1 9e-06 9e-06
gnus-undo-force-boundary 1 8e-06 8e-06
gnus-parameters-get-parameter 1 7e-06 7e-06
gnus-fixup-nnimap-unread-after-getting-new-news 1 7e-06 7e-06
gnus-uu-delete-work-dir 1 7e-06 7e-06
nnimap-split-find-rule 1 7e-06 7e-06
gnus-cache-write-active 1 6e-06 6e-06
gnus-cache-fully-p 1 6e-06 6e-06
gnus-use-long-file-name 1 5e-06 5e-06
gnus-cache-save-buffers 1 5e-06 5e-06
gnus-add-buffer 1 5e-06 5e-06
gnus-async-halt-prefetch 1 5e-06 5e-06
gnus-archive-server-wanted-p 1 5e-06 5e-06
nnimap-split-find-inbox 1 5e-06 5e-06
nnimap-asynchronous-p 1 4e-06 4e-06
next reply other threads:[~2003-09-22 20:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-22 20:04 Ted Zlatanov [this message]
2003-09-23 14:50 ` Simon Josefsson
2003-09-24 2:19 ` Andrew J. Korty
2003-09-24 10:19 ` Ted Zlatanov
[not found] ` <m27k3zyllz.fsf@ajk.local.>
2003-09-24 10:23 ` Ted Zlatanov
2003-09-24 11:51 ` Simon Josefsson
2003-09-24 13:18 ` Jochen Küpper
2003-10-04 22:02 ` Steinar Bang
2003-10-05 1:47 ` David S. Goldberg
2003-10-05 21:31 ` Steinar Bang
2003-10-07 21:52 ` Amos Gouaux
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=4npthspp3e.fsf@lockgroove.bwh.harvard.edu \
--to=tzz@lifelogs.com \
/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).