Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* slow `B m' due to a require for each of gnus-active-hashtb
@ 2016-08-09  9:33 Kevin Brubeck Unhammer
  2016-08-10 16:43 ` P. Paolini
  2018-04-11 18:16 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 3+ messages in thread
From: Kevin Brubeck Unhammer @ 2016-08-09  9:33 UTC (permalink / raw)
  To: info-gnus-english


[-- Attachment #1.1: Type: text/plain, Size: 1507 bytes --]

Hi,

On Gnus v5.13, Emacs 24.5.1, doing `B m` takes quite a long time (10s
and up) before it shows any prompt (but seemingly only after I've been
using Emacs for a while). If I toggle-debug-on-quit and poormansprofile
it a bit, the backtraces always look like this:

Debugger entered--Lisp error: (quit)
  require(nntp)
  gnus-get-function((nntp "news.gwene.org") request-accept-article t)
  gnus-valid-move-group-p(nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
  #[(symbol) "\b	!\205\v	\nB\211\207" [predicate symbol out] 2](nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
  mapatoms(#[(symbol) "\b	!\205\v	\nB\211\207" [predicate symbol out] 2] [nntp+news\.gmane\.org:gmane\.comp\.storage\.spectrum-scale\.gpfs\.user  ...])
  gnus-remove-if-not(gnus-valid-move-group-p [nntp+news\.gmane\.org:gmane\.comp\.storage\.spectrum-scale\.gpfs\.user ...] t)
  gnus-read-move-group-name("Move" "nnimap+fmmbsync:Junk Mail" (397) "nnimap+trigram:")
  gnus-summary-move-article(nil)
  call-interactively(gnus-summary-move-article nil nil)
  command-execute(gnus-summary-move-article)

It's a lot faster if I simply comment out (require (car method)) from
gnus-get-function (the require seems to still be there in git). If
that's not safe (how many backend methods are there?), then perhaps
there could be an alternate active group storage that organises active
groups hierarchically, so it would be possible to go from
valid-move-group to a set of groups?


-- 
Kevin Brubeck Unhammer


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]



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

* Re: slow `B m' due to a require for each of gnus-active-hashtb
  2016-08-09  9:33 slow `B m' due to a require for each of gnus-active-hashtb Kevin Brubeck Unhammer
@ 2016-08-10 16:43 ` P. Paolini
  2018-04-11 18:16 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 3+ messages in thread
From: P. Paolini @ 2016-08-10 16:43 UTC (permalink / raw)
  To: info-gnus-english

Kevin Brubeck Unhammer <unhammer@fsfe.org> writes:

> Hi,
>
> On Gnus v5.13, Emacs 24.5.1, doing `B m` takes quite a long time (10s
> and up) before it shows any prompt (but seemingly only after I've been
> using Emacs for a while). If I toggle-debug-on-quit and poormansprofile
> it a bit, the backtraces always look like this:
>
> Debugger entered--Lisp error: (quit)
>   require(nntp)
>   gnus-get-function((nntp "news.gwene.org") request-accept-article t)
>   gnus-valid-move-group-p(nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
>   #[(symbol) "\b !\205\v \nB\211\207" [predicate symbol out]
> 2](nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
>   mapatoms(#[(symbol) "\b !\205\v \nB\211\207" [predicate symbol out]
> 2]
> [nntp+news\.gmane\.org:gmane\.comp\.storage\.spectrum-scale\.gpfs\.user
> ...])
>   gnus-remove-if-not(gnus-valid-move-group-p
> [nntp+news\.gmane\.org:gmane\.comp\.storage\.spectrum-scale\.gpfs\.user
> ...] t)
>   gnus-read-move-group-name("Move" "nnimap+fmmbsync:Junk Mail" (397)
> "nnimap+trigram:")
>   gnus-summary-move-article(nil)
>   call-interactively(gnus-summary-move-article nil nil)
>   command-execute(gnus-summary-move-article)
>
> It's a lot faster if I simply comment out (require (car method)) from
> gnus-get-function (the require seems to still be there in git). If
> that's not safe (how many backend methods are there?), then perhaps
> there could be an alternate active group storage that organises active
> groups hierarchically, so it would be possible to go from
> valid-move-group to a set of groups?
I



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

* Re: slow `B m' due to a require for each of gnus-active-hashtb
  2016-08-09  9:33 slow `B m' due to a require for each of gnus-active-hashtb Kevin Brubeck Unhammer
  2016-08-10 16:43 ` P. Paolini
@ 2018-04-11 18:16 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2018-04-11 18:16 UTC (permalink / raw)
  To: Kevin Brubeck Unhammer; +Cc: info-gnus-english

Kevin Brubeck Unhammer <unhammer@fsfe.org> writes:

> On Gnus v5.13, Emacs 24.5.1, doing `B m` takes quite a long time (10s
> and up) before it shows any prompt (but seemingly only after I've been
> using Emacs for a while). If I toggle-debug-on-quit and poormansprofile
> it a bit, the backtraces always look like this:
>
> Debugger entered--Lisp error: (quit)
>   require(nntp)
>   gnus-get-function((nntp "news.gwene.org") request-accept-article t)
>   gnus-valid-move-group-p(nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)

[...]

> It's a lot faster if I simply comment out (require (car method)) from
> gnus-get-function (the require seems to still be there in git). If
> that's not safe (how many backend methods are there?), then perhaps
> there could be an alternate active group storage that organises active
> groups hierarchically, so it would be possible to go from
> valid-move-group to a set of groups?

Hm...  it's odd that require should be the bottleneck here, because it's
a NOOP if the feature has already been loaded.

(benchmark-run 100000 (require 'nntp))

takes 0.1s on my machine.  How many groups do you have?  :-)

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


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

end of thread, other threads:[~2018-04-11 18:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-09  9:33 slow `B m' due to a require for each of gnus-active-hashtb Kevin Brubeck Unhammer
2016-08-10 16:43 ` P. Paolini
2018-04-11 18:16 ` Lars 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).