Gnus development mailing list
 help / color / mirror / Atom feed
* C y on really large groups
@ 2011-05-10 14:44 Didier Verna
  2011-05-10 15:40 ` Adam Sjøgren
  0 siblings, 1 reply; 12+ messages in thread
From: Didier Verna @ 2011-05-10 14:44 UTC (permalink / raw)
  To: Gnus Beta Testers


  When I subscribe to a new newsgroup, I usually want to catchup
everything first, to get a fresh start. Problem is, doing C y on a group
that has more than 50000 messages takes hours.

Isn't there a way to do this more quickly ?

-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 14:44 C y on really large groups Didier Verna
@ 2011-05-10 15:40 ` Adam Sjøgren
  2011-05-10 16:01   ` Tassilo Horn
  0 siblings, 1 reply; 12+ messages in thread
From: Adam Sjøgren @ 2011-05-10 15:40 UTC (permalink / raw)
  To: ding

On Tue, 10 May 2011 16:44:29 +0200, Didier wrote:

> When I subscribe to a new newsgroup, I usually want to catchup
> everything first, to get a fresh start. Problem is, doing C y on a
> group that has more than 50000 messages takes hours.

> Isn't there a way to do this more quickly ?

I just tried subscribing to a random group on gmane with more than 50000
articles in it and did C y on it in the *Group* buffer. It was instant;
it took a fraction of a second.

Do you have any kind of customization/configuration that could be
interfering?


  Best regards,

    Adam

-- 
 "Good evening Sweden! Mere monitor! Tak for i aften!         Adam Sjøgren
  Jack Daniels! Ingen autografer! Mere is!"              asjo@koldfront.dk




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 15:40 ` Adam Sjøgren
@ 2011-05-10 16:01   ` Tassilo Horn
  2011-05-10 16:09     ` Adam Sjøgren
  2011-05-10 16:16     ` Antoine Levitt
  0 siblings, 2 replies; 12+ messages in thread
From: Tassilo Horn @ 2011-05-10 16:01 UTC (permalink / raw)
  To: ding

asjo@koldfront.dk (Adam Sjøgren) writes:

> I just tried subscribing to a random group on gmane with more than
> 50000 articles in it and did C y on it in the *Group* buffer. It was
> instant; it took a fraction of a second.

I don't have a C-prefix keymap at all?!?  In *Group*, `C' is bound to:

,----[ C-h k C RET ]
| C runs the command gnus-group-catchup-current-all, which is an interactive
| compiled Lisp function in `gnus-group.el'.
| 
| It is bound to C, <menu-bar> <Group> <Catch up all articles>.
| 
| (gnus-group-catchup-current-all &optional N)
| 
| Mark all articles in current newsgroup as read.
| Cross references (Xref: header) of articles are ignored.
`----

But that's according to the docs:

,----[ (info "(gnus)Group Data") ]
| `C'
|      Mark all articles in this group, even the ticked ones, as read
|      (`gnus-group-catchup-current-all').
`----

What am I missing?

Bye,
Tassilo
-- 
Sent from my Emacs



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 16:01   ` Tassilo Horn
@ 2011-05-10 16:09     ` Adam Sjøgren
  2011-05-10 19:57       ` Tassilo Horn
  2011-05-10 16:16     ` Antoine Levitt
  1 sibling, 1 reply; 12+ messages in thread
From: Adam Sjøgren @ 2011-05-10 16:09 UTC (permalink / raw)
  To: ding

On Tue, 10 May 2011 18:01:21 +0200, Tassilo wrote:

> asjo@koldfront.dk (Adam Sjøgren) writes:

>> I just tried subscribing to a random group on gmane with more than
>> 50000 articles in it and did C y on it in the *Group* buffer. It was
>> instant; it took a fraction of a second.

> I don't have a C-prefix keymap at all?!?  In *Group*, `C' is bound to:

(I always use 'c' (followed by 'y' for "yes") to catch up, but in this
test I used 'C' (followed by 'y' for "yes") since that was what - I
thought - you said you did.)

> ,----[ C-h k C RET ]
> | C runs the command gnus-group-catchup-current-all, which is an interactive
> | compiled Lisp function in `gnus-group.el'.
> | 
> | It is bound to C, <menu-bar> <Group> <Catch up all articles>.
> | 
> | (gnus-group-catchup-current-all &optional N)
> | 
> | Mark all articles in current newsgroup as read.
> | Cross references (Xref: header) of articles are ignored.
> `----

Wasn't that what you wanted?

Now I am confused.


  Best regards,

    Adam

-- 
 "Good evening Sweden! Mere monitor! Tak for i aften!         Adam Sjøgren
  Jack Daniels! Ingen autografer! Mere is!"              asjo@koldfront.dk




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 16:01   ` Tassilo Horn
  2011-05-10 16:09     ` Adam Sjøgren
@ 2011-05-10 16:16     ` Antoine Levitt
  2011-05-11  7:53       ` Didier Verna
  1 sibling, 1 reply; 12+ messages in thread
From: Antoine Levitt @ 2011-05-10 16:16 UTC (permalink / raw)
  To: ding

10/05/11 18:01, Tassilo Horn
> asjo@koldfront.dk (Adam Sjøgren) writes:
>
>> I just tried subscribing to a random group on gmane with more than
>> 50000 articles in it and did C y on it in the *Group* buffer. It was
>> instant; it took a fraction of a second.
>
> I don't have a C-prefix keymap at all?!?  In *Group*, `C' is bound to:
>
> ,----[ C-h k C RET ]
> | C runs the command gnus-group-catchup-current-all, which is an interactive
> | compiled Lisp function in `gnus-group.el'.
> | 
> | It is bound to C, <menu-bar> <Group> <Catch up all articles>.
> | 
> | (gnus-group-catchup-current-all &optional N)
> | 
> | Mark all articles in current newsgroup as read.
> | Cross references (Xref: header) of articles are ignored.
> `----
>
> But that's according to the docs:
>
> ,----[ (info "(gnus)Group Data") ]
> | `C'
> |      Mark all articles in this group, even the ticked ones, as read
> |      (`gnus-group-catchup-current-all').
> `----
>
> What am I missing?

He's just doing "y" to confirm ;-)

FWIW, it's instant here as well.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 16:09     ` Adam Sjøgren
@ 2011-05-10 19:57       ` Tassilo Horn
  0 siblings, 0 replies; 12+ messages in thread
From: Tassilo Horn @ 2011-05-10 19:57 UTC (permalink / raw)
  To: ding

asjo@koldfront.dk (Adam Sjøgren) writes:

Hi!

>> I don't have a C-prefix keymap at all?!?  In *Group*, `C' is bound to:
>
> (I always use 'c' (followed by 'y' for "yes") to catch up, but in this
> test I used 'C' (followed by 'y' for "yes") since that was what - I
> thought - you said you did.)

Sorry for the confusion.  I've read `C y' as "C is a prefix" and "y a
binding in C's keymap".  The confusion on my side is caused by having
`gnus-interactive-catchup' set to nil for years, so I'm not queried and
hence no "y".  ;-)

But for the record: `C' (no y here) on some Gmane perl group with 360000
new messages finishes instantly.

Bye,
Tassilo
-- 
Sent from my Emacs



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-10 16:16     ` Antoine Levitt
@ 2011-05-11  7:53       ` Didier Verna
  2011-05-11  8:15         ` Didier Verna
  0 siblings, 1 reply; 12+ messages in thread
From: Didier Verna @ 2011-05-11  7:53 UTC (permalink / raw)
  To: Antoine Levitt; +Cc: ding

Antoine Levitt <antoine.levitt@gmail.com> wrote:

> He's just doing "y" to confirm ;-)

  Yes. Sorry for the confusion ;-)


> FWIW, it's instant here as well.

  Now, you're all upsetting me guys. I'm a bit at a loss figuring out
what could cause the problem, but I'll try to investigate.

-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-11  7:53       ` Didier Verna
@ 2011-05-11  8:15         ` Didier Verna
  2011-05-11  8:19           ` Didier Verna
  0 siblings, 1 reply; 12+ messages in thread
From: Didier Verna @ 2011-05-11  8:15 UTC (permalink / raw)
  To: ding

[-- Attachment #1: Type: text/plain, Size: 420 bytes --]

I wrote:

> Now, you're all upsetting me guys. I'm a bit at a loss figuring out
> what could cause the problem, but I'll try to investigate.

  FWIW, here's the result of profiling a catchup on a group with 3800
messages. I'd be curious to see yours. XEmacs spends almost half the
time in GC (that, I could see) and an important time in SORT as well.

I'm especially interested to see if you SORT as much as I do here.


[-- Attachment #2: prof.txt --]
[-- Type: text/plain, Size: 27575 bytes --]

Function Name                         Ticks/Total %Usage Calls GC-Usage/  Total
===========================================/===== ====== ===== ========/=======
(in garbage collection)                1665/ 1667 38.373    89        0/  10324
sort                                    814/  814 18.760  3816
gnus-compress-sequence                  231/  231  5.324  3816   137340/ 137340
define-coding-system-alias              190/  214  4.379 30536 49834752/49834752
write-region-internal                   178/  330  4.102  3817  1374120/1816964
(profile overhead)                      178/  178  4.102
(in internal-external conversion)       165/  165  3.803 80170   442844/ 442844
gnus-uncompress-range                   156/  224  3.595  3816 87394032/87394032
(in expand-file-name)                   148/  151  3.411 103059  2442880/2442880
kill-buffer                              66/  111  1.521 22909   549840/ 549956
decode-coding-region                     56/   56  1.291 15272  2168652/2168652
decode-coding-string                     48/  435  1.106 15272      216/19213920
byte-code                                43/ 1134  0.991 42004      240/32600128
get-buffer-create                        39/   42  0.899 22910 24405712/24405712
insert-file-contents-internal            31/   80  0.714  3817   473332/ 473448
file-name-as-directory                   29/   30  0.668 30536  1710016/1710016
prin1                                    23/   23  0.530  3817
file-attributes                          20/   47  0.461  7634  1893232/1893232
file-exists-p                            19/   69  0.438 11451
mm-auto-mode-alist                       17/   17  0.392  3817
(in qxe_realpath)                        16/   52  0.369  3817
nnmail-group-pathname                    15/  120  0.346 15268   977152/4030752
nnheader-replace-duplicate-chars-in-string
					 13/   13  0.300 15268   427504/ 427504
string-match                             11/   11  0.254 19097      112/    112
nntp-group-pathname                      11/  625  0.254 15268   366432/25132720
gnus-add-marked-articles                  9/ 2085  0.207  3818     1032/87583184
format                                    8/    9  0.184  3823   168332/ 168332
nntp-open-marks                           7/  465  0.161  3817    91680/25238772
featurep                                  7/    7  0.161  3822
read                                      7/    9  0.161  3817   717524/ 717524
nntp-possibly-create-directory            7/  534  0.161  7634   183336/37804740
gnus-find-method-for-group                6/   12  0.138  3823   137628/ 137628
#<compiled-function (from "/usr/local/share/xemacs/site-packages/lisp/gnus/gnus-group.elc") (article) "...(17)" [article group gnus-add-marked-articles expire gnus-request-set-mark add (expire)] 5 0x1f44>
					  6/ 4342  0.138  3816   274808/177418188
select-buffer-killed-text                 6/   17  0.138 22909
write-region                              6/  397  0.138  3817       72/1817384
generate-new-buffer-name                  6/    6  0.138 22909
select-buffer-killed-default              6/    9  0.138 22909
assoc                                     5/    5  0.115 84016
find-file-name-handler                    5/    5  0.115  3817
gnus-request-set-mark                     4/ 2232  0.092  3817   106996/89583424
buffer-string                             4/   11  0.092 15275        0/ 427768
substitute                                4/    4  0.092 15268
insert-file-contents                      4/   97  0.092  3817    91608/ 656664
gnus-range-add                            4/    4  0.092  3818   137364/ 228948
gnus-remassoc                             4/    6  0.092 72528
nnheader-translate-file-chars             4/    4  0.092 15268
format-decode                             4/    5  0.092  3817
permanent-buffers-kill-buffer-function    4/    6  0.092 22909
mm-insert-file-contents                   3/  119  0.069  3817        0/ 656664
mm-subst-char-in-string                   3/    7  0.069 15268
expand-file-name                          2/   93  0.046 45804        0/2442880
set-buffer-file-coding-system             2/    3  0.046  3817
nntp-save-marks                           2/ 1192  0.046  3817    91608/44448300
find-coding-system                        1/    1  0.023 11451
extentp                                   1/    1  0.023 22909
intern-soft                               1/    1  0.023 11497
bufferp                                   1/    1  0.023 30550
get-text-property                         1/    2  0.023   128
nnheader-update-marks-actions             1/    7  0.023  3817        0/ 320484
gnus-update-alist-soft                    1/    1  0.023  3818    91584/  91584
intern                                    1/    0  0.023 15282
erase-buffer                              1/    1  0.023  3819
(in map-extents-internal)                 1/    1  0.023  1016     1652/   1652
gnus-prin1                                1/   24  0.023  3817
gnus-get-function                         1/    2  0.023  3817
nntp-request-set-mark                     1/ 2094  0.023  3817      192/89078880
nntp-marks-directory                      1/   48  0.023 15268        0/1526800
#<compiled-function (from "/usr/local/src/xemacs/21.5-ndebug/lisp/coding.elc") (sym args fun harg handlers) "...(9)" [args define-coding-system-alias file-name binary] 3 0xa6c>
					  1/  215  0.023 30536        0/49834752
buffer-substring                          1/    1  0.023 15276   427812/ 428260
gnus-run-hook-with-args                   1/    1  0.023  3817    91608/  91608
browse-url-delete-temp-file               1/    1  0.023 22909
and                                       0/    0  0.000    10
#<subr when>                              0/    0  0.000     4      144/    144
gnus-group-insert-group-line              0/    0  0.000     1      148/   8108
selected-window                           0/    0  0.000    12
itimerp                                   0/    0  0.000   228
current-fill-column                       0/    0  0.000     2
fboundp                                   0/    0  0.000  7634
re-search-forward                         0/    0  0.000    12       52/     52
mm-decode-coding-string                   0/  435  0.000 15272        0/19213920
window-width                              0/    0  0.000     2
gnus-topic-visible-p                      0/    0  0.000     1
gnus-extent-start-open                    0/    0  0.000     1        0/     28
run-hook-with-args                        0/    0  0.000 11452        0/     48
run-hooks                                 0/    0  0.000     2        0/   3620
add-timeout                               0/    0  0.000     3       72/     72
markerp                                   0/    1  0.000 22909
gnus-topic-update-unreads                 0/    0  0.000     1       24/     24
charset-width                             0/    0  0.000     9
set-extent-property                       0/    0  0.000     1
#<compiled-function (from "/usr/local/share/xemacs/site-packages/lisp/gnus/gnus-art.elc") (w) "...(116)" [major-mode w type old-line old-column window-start window-buffer gnus-article-mode count-lines line-beginning-position get-buffer-window re-search-forward ^Date: nil t get-text-property 0 gnus-date-type (lapsed combined-lapsed user-format) 1 article-date-ut set-window-start] 6 0x256a>
					  0/    0  0.000     2
reverse                                   0/    0  0.000  3818    91584/  91584
article-update-date-lapsed                0/    0  0.000     2        0/     48
framep                                    0/    0  0.000     6
gnus-group-position-point                 0/    0  0.000     4
add-text-properties                       0/    0  0.000     7     1780/   1780
concat                                    0/    0  0.000     6      244/    244
command-execute                           0/ 4345  0.000              0/177470648
delete*                                   0/    0  0.000     5
gnus-user-format-function-g               0/    0  0.000     1        0/     60
current-time                              0/    0  0.000     7      252/    252
local-variable-p                          0/    0  0.000  3817
nnheader-insert-file-contents             0/  119  0.000  3817        0/ 656664
gnus-group-mark-group                     0/    0  0.000     1        0/    112
next_event_internal()                     0/    0  0.000     4      116/    116
device-on-window-system-p                 0/    0  0.000     1
string-to-number                          0/    0  0.000     9
get-buffer                                0/    0  0.000     4
gnus-agent-possibly-alter-active          0/    0  0.000     1        0/     36
gnus-group-process-prefix                 0/    0  0.000     1       12/     12
gnus-current-topic                        0/    0  0.000     3
gnus-range-length                         0/    0  0.000     3
font-lock-pre-idle-hook                   0/    0  0.000     4
console-type                              0/    0  0.000     9
gnus-put-text-property-excluding-characters-with-faces
					  0/    0  0.000     1        0/    304
setq                                      0/    0  0.000     4
gnus-topic-update-topic                   0/    0  0.000     1        0/   3620
eventp                                    0/    0  0.000     1
window-buffer                             0/    0  0.000     6
(lambda (object) (setq object (window-buffer object)) (when (or (symbol-value-in-buffer (quote slime-mode) object) (symbol-value-in-buffer (quote slime-popup-buffer-mode) object)) (with-current-buffer object (setq redraw-modeline (or (not (equal slime-modeline-string (setq slime-modeline-string (slime-modeline-string)))) redraw-modeline)))))
					  0/    0  0.000     1        0/     36
walk-windows                              0/    0  0.000     6        0/    144
gnus-run-hooks                            0/    0  0.000     2       24/   3644
gnus-group-catchup-current-all            0/ 4345  0.000     1       20/177470648
event-to-character                        0/    0  0.000     1
gnus-agent-method-p                       0/    0  0.000     1
slime-xemacs-recompute-modelines          0/    0  0.000     4        0/    432
button-release-event-p                    0/    0  0.000     1
run-finalizers                            0/    0  0.000    89
set                                       0/    0  0.000  3817
truncate-command-history-for-gc           0/    0  0.000    89        0/  10324
+                                         0/    0  0.000     7
prin1-to-string                           0/    0  0.000     1      136/    136
gnus-mode-line-buffer-identification      0/    0  0.000     1       96/    124
gnus-group-decoded-name                   0/    0  0.000     2        0/   2756
gnus-method-option-p                      0/    0  0.000     1        0/     28
gnus-topic-find-topology                  0/    0  0.000     2       24/     24
gnus-parameters-get-parameter             0/    0  0.000     1        0/     36
disable-timeout                           0/    0  0.000     3      -36/    -36
device-type                               0/    0  0.000     9
frame-selected-window                     0/    0  0.000     1
lambda                                    0/    0  0.000     4        0/    288
abs                                       0/    0  0.000     1
gnus-y-or-n-p                             0/    0  0.000     1        0/  12280
point                                     0/    0  0.000    17
message                                   0/    0  0.000     2       60/    504
mapcar                                    0/    0  0.000     9      144/    156
execute-extended-command                  0/ 4345  0.000              0/177470648
symbol-value-in-buffer                    0/    0  0.000    94
profile-command                           0/ 4345  0.000              0/177470648
modeline-update-buffer-names              0/    0  0.000     1        0/    516
event-live-p                              0/    0  0.000     4
current-message-label                     0/    0  0.000     1
should-use-dialog-box-p                   0/    0  0.000     1
vectorp                                   0/    0  0.000     4
gnus-group-timestamp-delta                0/    0  0.000     1       24/     96
itimer-uses-arguments                     0/    0  0.000     2
text-property-any                         0/    0  0.000     7
gnus-group-level                          0/    0  0.000     1
append-message                            0/    0  0.000     2       48/    180
set-itimer-value-internal                 0/    0  0.000    29
delete-char                               0/    0  0.000     2        0/     56
gnus-group-remove-mark                    0/    0  0.000     1        0/    112
event-key                                 0/    0  0.000     1
raw-append-message                        0/    0  0.000     2       48/    132
itimer-time-difference                    0/    0  0.000     6      288/    288
gnus-range-map                            0/ 4343  0.000     1       76/177418264
gnus-sequence-of-unread-articles          0/    0  0.000     1      228/    228
remove-message                            0/    0  0.000     2       12/     60
gnus-topic-hierarchical-parameters        0/    0  0.000     1       24/     60
eq                                        0/    0  0.000     5
frame-type                                0/    0  0.000     9
charset-property                          0/    0  0.000     9
gnus-topic-insert-topic-line              0/    0  0.000     1      120/   3528
gnus-group-name-charset                   0/    0  0.000     3       72/    168
gnus-topic-group-indentation              0/    0  0.000     1        0/     24
insert-char                               0/    0  0.000     9        0/     56
gnus-group-auto-expirable-p               0/    0  0.000     1        0/    120
(in char-byte conversion)                 0/    0  0.000    17
assq                                      0/    0  0.000     2
gnus-group-insert-group-line-info         0/    0  0.000     1        0/   8132
previous-single-property-change           0/    0  0.000     2
gnus-remove-from-range                    0/    0  0.000     2
boundp                                    0/    0  0.000  3826
next-command-event                        0/    0  0.000     1        0/  11028
buffer-list                               0/    0  0.000     1      516/    516
#<compiled-function (from "/usr/local/src/xemacs/21.5-ndebug/lisp/modeline.elc") (buf) "...(89)" [modeline-modified-buffer-highlighted-name modeline-modified-buffer-non-highlighted-name modeline-recorded-buffer-name fn modeline-recorded-buffer-file-name buf buffer-name symbol-value-in-buffer buffer-file-name nil ... file-name-directory  ( directory-file-name )  file-name-nondirectory redraw-modeline modeline-max-buffer-name-size dir] 5 0x607>
					  0/    0  0.000    43
int-to-string                             0/    0  0.000     8      204/    204
console-on-window-system-p                0/    0  0.000     1
quote                                     0/    0  0.000    27
match-string                              0/    0  0.000    25      216/    216
coding-system-p                           0/    0  0.000  7634
insert                                    0/    0  0.000    16        0/    952
itimer-is-idle                            0/    0  0.000    81
bury-buffer                               0/    0  0.000     1
gnus-group-goto-group                     0/    1  0.000     3
window-height                             0/    0  0.000     2
mapc                                      0/    0  0.000     1
itimer-run-expired-timers                 0/    0  0.000     3     1272/   1944
gnus-topic-parent-topic                   0/    0  0.000    44
natnump                                   0/    0  0.000 30550
device-console                            0/    0  0.000    10
if                                        0/    0  0.000    17        0/    988
gnus-group-get-parameter                  0/    0  0.000     4
replace-match                             0/    0  0.000     8
gnus-topic-update-topic-line              0/    0  0.000     1        0/   3596
enqueue-eval-event                        0/    0  0.000    89    10324/  10324
log-message-filter                        0/    0  0.000     1        0/     24
next-window                               0/    0  0.000     6
gnus-group-get-icon                       0/    0  0.000     1
update-tab-in-gutter                      0/    0  0.000     1
gettext                                   0/    0  0.000     2
set-buffer-modified-p                     0/    0  0.000  3818
ad-Orig-gnus-group-highlight-line         0/    0  0.000     1        0/    452
gnus-topic-articles-in-topic              0/    0  0.000     1
misc-user-event-p                         0/    0  0.000     1
apply                                     0/    0  0.000  3831        0/   3872
gnus-update-read-articles                 0/    0  0.000     1      372/    532
gnus-group-highlight-line                 0/    0  0.000     1        0/    488
match-data                                0/    0  0.000     6      144/    144
or                                        0/    0  0.000     4
when                                      0/    0  0.000     4        0/    144
gnus-group-topic-level                    0/    0  0.000     2
insert-string                             0/    0  0.000     2
gnus-summary-buffer-name                  0/    0  0.000     1       48/   1356
key-press-event-p                         0/    0  0.000     1
itimer-timer-driver                       0/    0  0.000     3       36/   2268
gnus-group-parameter-value                0/    0  0.000     3
specifier-instance                        0/    0  0.000     1
gnus-group-find-parameter                 0/    0  0.000     1        0/    120
function                                  0/    0  0.000     4
current-column                            0/    0  0.000     2
point-at-eol                              0/    0  0.000     4
next-event                                0/    0  0.000     4        0/   8760
buffer-size                               0/    0  0.000     1
symbol-name                               0/    0  0.000  3834
gnus-region-active-p                      0/    0  0.000     1
event-type                                0/    0  0.000     4
append                                    0/    0  0.000     1
gnus-group-update-eval-form               0/    0  0.000     1        0/    120
<=                                        0/    0  0.000     2
window-dedicated-p                        0/    0  0.000     1
itimer-function                           0/    0  0.000     2
enlarge-window                            0/    0  0.000     1
check-coding-system                       0/    0  0.000  3817
gnus-topic-unread                         0/    0  0.000     8
lookup-key                                0/    0  0.000     1      232/    232
coding-system-property                    0/    0  0.000  7634
execute_internal_event()                  0/    0  0.000     3        0/   2268
gnus-group-catchup                        0/ 4343  0.000     1      268/177446436
gnus-server-status                        0/    0  0.000     1
gnus-group-topic-parameters               0/    0  0.000     1        0/     72
gnus-put-text-property                    0/    0  0.000     3        0/    380
frame-live-p                              0/    0  0.000     9
not                                       0/    0  0.000     3
gnus-group-name-decode                    0/    0  0.000     4        0/   5184
zerop                                     0/    0  0.000     3
selected-device                           0/    0  0.000     1
gnus-group-search-forward                 0/    1  0.000     1
stop-profiling                            0/    0  0.000     1
devicep                                   0/    0  0.000     6
gnus-group-group-indentation              0/    0  0.000     2        0/     24
default-value                             0/    0  0.000  3817
equal                                     0/    0  0.000     2
text-property-not-all                     0/    0  0.000     2
#<compiled-function (from "/usr/local/src/xemacs/21.5-ndebug/lisp/font-lock.elc") nil "...(10)" [font-lock-pending-buffer-table hash-table-count 0 font-lock-fontify-pending-extents] 2 0xbf6>
					  0/    0  0.000     4
gnus-group-set-mode-line                  0/    0  0.000     1       12/   1488
nnmail-purge-split-history                0/    0  0.000     1
encode-time-value                         0/    0  0.000     1       36/     36
button-press-event-p                      0/    0  0.000     1
gnus-ephemeral-group-p                    0/    0  0.000     1
#<compiled-function (from "/usr/local/share/xemacs/site-packages/lisp/gnus/gnus-xmas.elc") (extent arg) "...(6)" [extent set-extent-property start-open t] 4 0x1617>
					  0/    0  0.000     1
cleanup-simple-finalizers                 0/    0  0.000    89
gnus-group-topic-name                     0/    0  0.000     1
display-message                           0/    0  0.000     2        0/    240
ceiling                                   0/    0  0.000     2       24/     24
let*                                      0/    0  0.000     3        0/    336
gnus-prin1-to-string                      0/    0  0.000     1        0/    136
frame-device                              0/    0  0.000     9
gnus-dribble-enter                        0/    0  0.000     1        0/   1488
eval                                      0/    0  0.000    19        0/   7236
selected-frame                            0/    0  0.000     4
char-width                                0/    0  0.000     9
put-text-property                         0/    0  0.000    21      684/    684
buffer-live-p                             0/    0  0.000     1
progn                                     0/    0  0.000    10        0/   5884
(in redisplay)                            0/    0  0.000     4     7696/   8212
next-single-property-change               0/    0  0.000    13
map-extents                               0/    0  0.000     1        0/     28
marker-position                           0/    0  0.000  3817
force-mode-line-update                    0/    0  0.000  3817
gnus-user-format-function-t               0/    0  0.000     1        0/    660
gnus-correct-length                       0/    0  0.000     7        0/    108
let                                       0/    0  0.000    13        0/   1344
gnus-undo-register                        0/    0  0.000     1       36/     60
coding-system-type                        0/    0  0.000  3817
call-interactively                        0/ 4345  0.000     1        0/177470648
events-to-keys                            0/    0  0.000     1       12/     36
copy-sequence                             0/    0  0.000  3821    46140/  46140
run-hook-with-args-until-success          0/    0  0.000  7634
store-match-data                          0/    0  0.000     6
buffer-modified-p                         0/    0  0.000  3818
itimer-restart                            0/    0  0.000     4
gnus-xmas-format                          0/    0  0.000     3       96/   3772
minibuffer-window                         0/    0  0.000     2
gnus-topic-goto-topic                     0/    0  0.000     3
gnus-topic-find-groups                    0/    0  0.000     1
call-with-condition-handler               0/    0  0.000     5        0/     48
device-live-p                             0/    0  0.000     9
gnus-online                               0/    1  0.000  3817
gnus-get-unread-articles-in-group         0/    0  0.000     1        0/     36
#<compiled-function (from "/usr/local/src/xemacs/21.5-ndebug/lisp/subr.elc") (&rest cdr) "...(6)" [cdr function lambda] 3 752151 0x2b>
					  0/    0  0.000     4      288/    288
-                                         0/    0  0.000     6
y-or-n-p-minibuf                          0/    0  0.000     1        0/  12280
point-marker                              0/    0  0.000     1       24/     24
search-forward                            0/    0  0.000     4
log-message                               0/    0  0.000     1        0/     48
clear-message                             0/    0  0.000     2        0/     60
gnus-group-next-unread-group              0/    1  0.000     1
buffer-file-name                          0/    0  0.000    43
make-marker                               0/    1  0.000  3817    91608/  91608
event-modifier-bits                       0/    0  0.000     1
#<compiled-function (from "/usr/local/share/xemacs/site-packages/lisp/gnus/gnus-group.elc") (x) "...(13)" [gnus-valid-select-methods gnus-select-method method x assoc symbol-name] 4 0x1eca>
					  0/    0  0.000     2
vector                                    0/    0  0.000     1       16/     16
#<compiled-function (from "/usr/local/src/xemacs/21.5-ndebug/lisp/simple.elc") nil "...(10)" [log run-hook-with-args remove-message-hook] 4 0x527>
					  0/    0  0.000     1        0/     48
key-binding                               0/    0  0.000     1      464/    464
itimer-function-arguments                 0/    0  0.000     2
subtract-time                             0/    0  0.000     1        0/     36
itimer-value                              0/    0  0.000   108
gnus-group-topic-unread                   0/    0  0.000     2
get-coding-system                         0/    0  0.000  3817
>                                         0/    0  0.000    10
make-string                               0/    0  0.000     9      304/    304
gnus-current-topics                       0/    0  0.000     1       12/     12
gnus-undo-register-1                      0/    0  0.000     1       24/     24
itimer-disable-timeout                    0/    0  0.000     3        0/    -36
gnus-group-catchup-current                0/ 4345  0.000     1      168/177470628
gnus-topic-parameters                     0/    0  0.000     1        0/     12
char-charset                              0/    0  0.000     9
redisplay-echo-area                       0/    0  0.000     2       60/     60
frame-property                            0/    0  0.000     1
point-at-bol                              0/    0  0.000    16
noninteractive                            0/    0  0.000    89
buffer-name                               0/    0  0.000 45863
window-minibuffer-p                       0/    0  0.000     6
gnus-group-group-name                     0/    0  0.000     5
gnus-group-update-group-line              0/    0  0.000     1      232/  10044
hash-table-count                          0/    0  0.000     4
cdr                                       0/    0  0.000    45
gnus-add-text-properties                  0/    0  0.000     7        0/   1780
set-default                               0/    0  0.000  7634
-------------------------------------------------------------------------------
Total                                  4339      100.000 1339602 177470648


Ticks/Total     = Ticks this function/this function and descendants
Calls           = Number of calls to this function
GC-Usage/Total  = Lisp allocation this function/this function and descendants
One tick        = 1 ms

[-- Attachment #3: Type: text/plain, Size: 153 bytes --]



-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-11  8:15         ` Didier Verna
@ 2011-05-11  8:19           ` Didier Verna
  2011-05-11  8:56             ` Didier Verna
  0 siblings, 1 reply; 12+ messages in thread
From: Didier Verna @ 2011-05-11  8:19 UTC (permalink / raw)
  To: ding

I wrote:

>   FWIW, here's the result of profiling a catchup on a group with 3800
> messages.

  BTW, not sure if I mentionned it but I'm talking about nntp groups here.

-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-11  8:19           ` Didier Verna
@ 2011-05-11  8:56             ` Didier Verna
  2011-05-11 21:47               ` Ted Zlatanov
  0 siblings, 1 reply; 12+ messages in thread
From: Didier Verna @ 2011-05-11  8:56 UTC (permalink / raw)
  To: ding


       Got it. The problem is that I have gnus-auto-expirable-newsgroups
set to ".*". When doing a catchup, Gnus grabs the article range which is
something like (min . max) and maps over all the actual numbers in order
to add the expirable mark on each article. So no wonder it takes hours.

What's more intriguing is that this variable is not supposed to affect
nntp groups so I hadn't expected this behavior. But now that I think of
it, I realize that all my nntp newsgroups articles have the E mark set
(I can see that in the summary buffers), which does really make sense,
does it ?

-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-11  8:56             ` Didier Verna
@ 2011-05-11 21:47               ` Ted Zlatanov
  2011-05-30 20:06                 ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 12+ messages in thread
From: Ted Zlatanov @ 2011-05-11 21:47 UTC (permalink / raw)
  To: ding

On Wed, 11 May 2011 10:56:36 +0200 Didier Verna <didier@xemacs.org> wrote: 

dvl>        Got it. The problem is that I have gnus-auto-expirable-newsgroups
dvl> set to ".*". When doing a catchup, Gnus grabs the article range which is
dvl> something like (min . max) and maps over all the actual numbers in order
dvl> to add the expirable mark on each article. So no wonder it takes hours.

dvl> What's more intriguing is that this variable is not supposed to affect
dvl> nntp groups so I hadn't expected this behavior. But now that I think of
dvl> it, I realize that all my nntp newsgroups articles have the E mark set
dvl> (I can see that in the summary buffers), which does really make sense,
dvl> does it ?

You can set the E mark, but since the backend is read-only (there's a
nn* variable for this) it won't matter.  So the code on catchup that
adds the E mark should simply check the backend and skip processing if
the E mark is irrelevant.

Ted




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: C y on really large groups
  2011-05-11 21:47               ` Ted Zlatanov
@ 2011-05-30 20:06                 ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 12+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-05-30 20:06 UTC (permalink / raw)
  To: ding

Ted Zlatanov <tzz@lifelogs.com> writes:

> You can set the E mark, but since the backend is read-only (there's a
> nn* variable for this) it won't matter.  So the code on catchup that
> adds the E mark should simply check the backend and skip processing if
> the E mark is irrelevant.

Yup.  I've now switch auto-expirability off for read-only groups.

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




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-05-30 20:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-10 14:44 C y on really large groups Didier Verna
2011-05-10 15:40 ` Adam Sjøgren
2011-05-10 16:01   ` Tassilo Horn
2011-05-10 16:09     ` Adam Sjøgren
2011-05-10 19:57       ` Tassilo Horn
2011-05-10 16:16     ` Antoine Levitt
2011-05-11  7:53       ` Didier Verna
2011-05-11  8:15         ` Didier Verna
2011-05-11  8:19           ` Didier Verna
2011-05-11  8:56             ` Didier Verna
2011-05-11 21:47               ` Ted Zlatanov
2011-05-30 20:06                 ` Lars Magne Ingebrigtsen

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).