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