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


_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to