Re: slow `B m' due to a require for each of gnus-active-hashtb
Kevin Brubeck Unhammerwrites: > 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
Kevin Brubeck Unhammerwrites: > 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