Re: slow `B m' due to a require for each of gnus-active-hashtb

2018-04-11 Thread Lars Ingebrigtsen
Kevin Brubeck Unhammer  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 10 (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

___
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english


Re: slow `B m' due to a require for each of gnus-active-hashtb

2016-08-10 Thread P. Paolini
Kevin Brubeck Unhammer  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) " !\205 \nB\211\207" [predicate symbol out]
> 2](nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
>   mapatoms(#[(symbol) " !\205 \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


___
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english


slow `B m' due to a require for each of gnus-active-hashtb

2016-08-09 Thread Kevin Brubeck Unhammer
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) " !\205  \nB\211\207" [predicate symbol out] 
2](nntp+news\.gwene\.org:gwene\.net\.patdavid\.gimp)
  mapatoms(#[(symbol) "!\205  \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



signature.asc
Description: PGP signature
___
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english