unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
* [PATCH 0/9] fixes noticed while working on indexheader
@ 2024-05-19 21:55 Eric Wong
  2024-05-19 21:55 ` [PATCH 1/9] config: dedupe ibx->{newsgroup} Eric Wong
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Eric Wong @ 2024-05-19 21:55 UTC (permalink / raw)
  To: meta

Still trying to figure out how to go about indexheader+altid
across -extindex, multiple inboxes, and lei.  But a bunch of
improvements were found to existing behavior and we shouldn't
have to worry about running out of FDs in xap_helper, anymore.

Introducing khashl.h seems like a big code import atm; but
hsearch(3) really sucks and std::map is too much alien-looking
C++ (and chained hash tables have poor locality).  The FUSE shim
will certainly be C (and not C++) and perhaps URCU (for
rculfhash) is too rare a dependency to count on, so having
khashl available would help there.

Eric Wong (9):
  config: dedupe ibx->{newsgroup}
  xap_helper: key search instances by -Q params, too
  xap_helper.h: use khashl.h instead of hsearch(3)
  xap_helper.h: use xcalloc to simplify error checking
  xap_helper.h: memoize Xapian handles with khashl
  xap_helper: expire DB handles when FD table is near full
  xap_helper: drop DB handles on EMFILE/ENFILE/etc...
  lei_saved_search: drop ->altid_map method
  www_text: fix /$INBOX/_/text/help/raw endpoint

 MANIFEST                          |   1 +
 lib/PublicInbox/Config.pm         |   4 +-
 lib/PublicInbox/ExtSearchIdx.pm   |   8 +-
 lib/PublicInbox/LeiSavedSearch.pm |   2 -
 lib/PublicInbox/Search.pm         |  16 +
 lib/PublicInbox/WwwText.pm        |   2 +-
 lib/PublicInbox/XapHelper.pm      |  48 ++-
 lib/PublicInbox/XapHelperCxx.pm   |   1 +
 lib/PublicInbox/khashl.h          | 502 ++++++++++++++++++++++++++++++
 lib/PublicInbox/xap_helper.h      | 273 +++++++++-------
 lib/PublicInbox/xh_cidx.h         |  79 +++--
 t/psgi_text.t                     |  21 +-
 t/xap_helper.t                    |  23 ++
 13 files changed, 818 insertions(+), 162 deletions(-)
 create mode 100644 lib/PublicInbox/khashl.h


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

end of thread, other threads:[~2024-05-20 19:07 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-19 21:55 [PATCH 0/9] fixes noticed while working on indexheader Eric Wong
2024-05-19 21:55 ` [PATCH 1/9] config: dedupe ibx->{newsgroup} Eric Wong
2024-05-19 21:55 ` [PATCH 2/9] xap_helper: key search instances by -Q params, too Eric Wong
2024-05-19 21:55 ` [PATCH 3/9] xap_helper.h: use khashl.h instead of hsearch(3) Eric Wong
2024-05-20 18:59   ` [PATCH 10/9] xap_helper.h: fix CPP error on non-glibc Eric Wong
2024-05-19 21:55 ` [PATCH 4/9] xap_helper.h: use xcalloc to simplify error checking Eric Wong
2024-05-19 21:55 ` [PATCH 5/9] xap_helper.h: memoize Xapian handles with khashl Eric Wong
2024-05-19 21:55 ` [PATCH 6/9] xap_helper: expire DB handles when FD table is near full Eric Wong
2024-05-19 21:55 ` [PATCH 7/9] xap_helper: drop DB handles on EMFILE/ENFILE/etc Eric Wong
2024-05-19 21:55 ` [PATCH 8/9] lei_saved_search: drop ->altid_map method Eric Wong
2024-05-19 21:55 ` [PATCH 9/9] www_text: fix /$INBOX/_/text/help/raw endpoint 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).