emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: Fixing slowness of following Gnus links to IMAP articles


From: Sébastien Vauban
Subject: [Orgmode] Re: Fixing slowness of following Gnus links to IMAP articles
Date: Wed, 08 Sep 2010 17:09:38 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hi David,

David Maus wrote:
> Sébastien Vauban wrote:
>> Thanks a lot for trying to get Gnus better behaving in face of slow servers
>> like Courier...
>>
>> Do "you" want me to test something special to move things forward?
>
> Okay, could you try the attached patch? It is based on current master and
> tries to look up the article number (uid) in NOVCACHE and falls back to UID
> SEARCH when the message is not cached.

Sorry to have awaited so long. Needless to say there are not enough hours in a
day. But, being in Org, I knew I'd do it one day! ;-)


> To make a message enter Gnus' cache you might to modify
> `gnus-cache-enter-articles'. The cache setting I used to test the patch are:
>
> ,----[ gnus.el ]
> | (setq nnimap-nov-is-evil nil)
> | (setq gnus-use-cache t)
> | (setq gnus-cache-enter-articles '(ticked dormant unread read))
> `----

I already had these set to exactly those values...


> NOTE: This patch is deliberately not attached as text/plain to avoid
> the patchtracker catching it (no proper commit message and all).

The results of the jury are...

...
...
...

it just perfectly *works*!  Great, great feature... Thanks a lot.

FYI, here are the results of my first invocation of it:

--8<---------------cut here---------------start------------->8---
org-open-at-point                                             1           
18.586562     18.586562
org-gnus-open                                                 1           
18.584601     18.584601
org-gnus-follow-link                                          1           
18.584491     18.584491
org-gnus-nnimap-cached-article-number                         1           
0.092368      0.092368
org-resolve-clocks-if-idle                                    1           
0.006299      0.006299
org-user-idle-seconds                                         1           
0.006273      0.006273
org-x11-idle-seconds                                          1           
0.00626       0.00626
org-in-regexp                                                 2           
0.000723      0.0003615
org-clock-update-mode-line                                    1           
0.000663      0.000663
org-footnote-at-reference-p                                   1           
0.000644      0.000644
org-babel-open-src-block-result                               1           
0.00038       0.00038
org-babel-get-src-block-info                                  1           
0.000362      0.000362
org-clock-notify-once-if-expired                              1           
0.000271      0.000271
org-babel-where-is-src-block-head                             1           
0.00027       0.00027
org-clock-get-clock-string                                    1           
0.000262      0.000262
org-activate-bracket-links                                    4           
0.000246      6.15e-05
org-clock-get-clocked-time                                    2           
0.000221      0.0001105
org-activate-plain-links                                      4           
0.0001860000  4.650...e-05
org-unfontify-region                                          2           
0.00018       9e-05
org-float-time                                                4           
0.000176      4.4e-05
org-match-string-no-properties                                3           
0.000123      4.1e-05
org-footnote-at-definition-p                                  1           
0.000121      0.000121
org-link-unescape                                             1           
0.000117      0.000117
org-propertize                                                4           
0.000115      2.875e-05
org-remove-flyspell-overlays-in                               4           
0.000104      2.6e-05
org-activate-tags                                             2           
0.0001009999  5.049...e-05
org-substring-no-properties                                   4           
9.7e-05       2.425e-05
org-before-change-function                                    40          
9.299...e-05  2.324...e-06
org-activate-footnote-links                                   2           
8.5e-05       4.25e-05
org-gnus-no-new-news                                          1           8e-05 
        8e-05
org-hh:mm-string-to-minutes                                   2           
7.6e-05       3.8e-05
org-at-timestamp-p                                            1           
6.1e-05       6.1e-05
org-link-expand-abbrev                                        1           
4.4e-05       4.4e-05
org-extract-attributes                                        1           
4.4e-05       4.4e-05
org-fontify-meta-lines-and-blocks                             2           
3.6e-05       1.8e-05
org-do-emphasis-faces                                         2           
3.4e-05       1.7e-05
org-on-heading-p                                              1           
3.2e-05       3.2e-05
org-hide-wide-columns                                         2           
2.600...e-05  1.300...e-05
org-activate-dates                                            2           
2.499...e-05  1.249...e-05
org-rear-nonsticky-at                                         8           
2.300...e-05  2.875...e-06
org-remove-font-lock-display-properties                       2           
2.3e-05       1.15e-05
org-activate-angle-links                                      2           
2.3e-05       1.15e-05
org-clocking-p                                                1           
1.9e-05       1.9e-05
org-font-lock-add-tag-faces                                   2           
1.4e-05       7e-06
org-activate-code                                             2           
1.300...e-05  6.500...e-06
org-font-lock-add-priority-faces                              2           
1.2e-05       6e-06
org-remove-occur-highlights                                   1           
1.1e-05       1.1e-05
org-add-props                                                 1           9e-06 
        9e-06
org-load-modules-maybe                                        1           7e-06 
        7e-06
org-raise-scripts                                             2           
4.999...e-06  2.499...e-06
org-do-latex-and-special-faces                                2           
4.999...e-06  2.499...e-06
org-fontify-entities                                          2           
4.999...e-06  2.499...e-06
org-activate-target-links                                     2           
4.999...e-06  2.499...e-06
org-clocking-buffer                                           1           4e-06 
        4e-06
org-font-lock-hook                                            2           4e-06 
        2e-06
--8<---------------cut here---------------end--------------->8---

So, read 18 seconds instead of the 5 minutes I had before the patch. From
totally unusable, the feature becomes completely usable...

>From different tests I've made in my huge work folder (~ 29,300 emails as of
today), the average time is around 14 seconds. Excellent.

I'm excited about using this all the time now... Will you make that part of
the master?

Best regards,
  Seb

-- 
Sébastien Vauban




reply via email to

[Prev in Thread] Current Thread [Next in Thread]