unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
* [PATCH 0/5] nntp: round 2 of ->ALL extindex speedups
@ 2020-11-28  5:09 Eric Wong
  2020-11-28  5:09 ` [PATCH 1/5] nntp: NEWGROUPS uses long_response Eric Wong
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Eric Wong @ 2020-11-28  5:09 UTC (permalink / raw)
  To: meta

All of the O(n) iterations through newsgroups can either go
through the ->ALL extindex or is broken out into long_response
to not monopolize event loops.

So 50-100K newsgroups ought to be usable...

Further speeding up NEWGROUPS will require some MiscIdx
indexing additions, but that no longer hogs up an event
loop iteration.

One remaining problems is startup time with 50-100K newsgroups;
and that affects everything (especially -mda...)

Eric Wong (5):
  nntp: NEWGROUPS uses long_response
  nntp: speed up mid_lookup() using ->ALL extindex
  nntp: art_lookup: use mid_lookup and simplify
  nntp: XPATH uses ->ALL extindex, too
  nntpd: remove redundant {groups} shortcut

 lib/PublicInbox/NNTP.pm  | 125 +++++++++++++++++++++++++--------------
 lib/PublicInbox/NNTPD.pm |   8 +--
 t/extsearch.t            |   4 +-
 t/nntp.t                 |   1 -
 4 files changed, 87 insertions(+), 51 deletions(-)

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

end of thread, other threads:[~2020-11-28  5:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-28  5:09 [PATCH 0/5] nntp: round 2 of ->ALL extindex speedups Eric Wong
2020-11-28  5:09 ` [PATCH 1/5] nntp: NEWGROUPS uses long_response Eric Wong
2020-11-28  5:09 ` [PATCH 2/5] nntp: speed up mid_lookup() using ->ALL extindex Eric Wong
2020-11-28  5:09 ` [PATCH 3/5] nntp: art_lookup: use mid_lookup and simplify Eric Wong
2020-11-28  5:09 ` [PATCH 4/5] nntp: XPATH uses ->ALL extindex, too Eric Wong
2020-11-28  5:09 ` [PATCH 5/5] nntpd: remove redundant {groups} shortcut Eric Wong

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 read-only IMAP folder(s) and NNTP newsgroup(s).