diff options
author | Eric Wong <e@80x24.org> | 2023-08-24 01:22:33 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-08-24 07:47:51 +0000 |
commit | b18ecb7707e83cb8cb38c3736aecd984999ca0a7 (patch) | |
tree | 0f159212810c98aa07d26b6f7f28f4b8dbc9b302 /lib/PublicInbox/Isearch.pm | |
parent | cf96412eb8f193ebd334fae340b2d91b6b7f2afe (diff) | |
download | public-inbox-b18ecb7707e83cb8cb38c3736aecd984999ca0a7.tar.gz |
This allows us to perform the expensive "dump_ibx" operations in native C++ code using the Xapian C++ library. This provides the majority of the speedup with the -cindex --associate switch. Eventually this may be expanded to cover all uses of Xapian within the project to ensure we have access to Xapian APIs which aren't available in XS|SWIG bindings; and also for ease-of-installation on systems which don't provide pre-packaged Perl Xapian bindings (e.g. OpenBSD 7.3) but do provide Xapian development libraries. Most of the C++ code is still C, as I'm not remotely familiar with C++ compared to C. I suspect many users and potential hackers being from git, Linux kernel, and glibc world are in the same boat.
Diffstat (limited to 'lib/PublicInbox/Isearch.pm')
-rw-r--r-- | lib/PublicInbox/Isearch.pm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/PublicInbox/Isearch.pm b/lib/PublicInbox/Isearch.pm index 5cac08ba..62112171 100644 --- a/lib/PublicInbox/Isearch.pm +++ b/lib/PublicInbox/Isearch.pm @@ -123,4 +123,9 @@ sub has_threadid { 1 } sub help { $_[0]->{es}->help } +sub xh_args { # prep getopt args to feed to xap_helper.h socket + my ($self, $opt) = @_; # TODO uid_range + ($self->{es}->xh_args, '-O', $self->{eidx_key}); +} + 1; |