* [PATCH 1/7] xap_helper_cxx: do not copy xap_helper.h source
2023-11-26 2:10 5% [PATCH 0/7] more I/O + process reliability and cleanups Eric Wong
@ 2023-11-26 2:10 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-11-26 2:10 UTC (permalink / raw)
To: meta
No need to waste memory bandwidth when we can just rely on
the preprocessor to load the header.
---
lib/PublicInbox/XapHelperCxx.pm | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm
index 9e819546..b1deb665 100644
--- a/lib/PublicInbox/XapHelperCxx.pm
+++ b/lib/PublicInbox/XapHelperCxx.pm
@@ -8,7 +8,7 @@
package PublicInbox::XapHelperCxx;
use v5.12;
use PublicInbox::Spawn qw(run_die run_qx which);
-use PublicInbox::IO qw(read_all try_cat write_file);
+use PublicInbox::IO qw(try_cat write_file);
use PublicInbox::Search;
use Fcntl qw(SEEK_SET);
use Config;
@@ -62,11 +62,7 @@ sub build () {
my ($prog) = ($bin =~ m!/([^/]+)\z!);
my $lk = PublicInbox::Lock->new("$dir/$prog.lock")->lock_for_scope;
open my $fh, '>', "$dir/$prog.cpp";
- for (@srcs) {
- say $fh qq(# line 1 "$_");
- open my $rfh, '<', $_;
- print $fh read_all($rfh);
- }
+ say $fh qq(# include "$_") for @srcs;
print $fh PublicInbox::Search::generate_cxx();
print $fh PublicInbox::CodeSearch::generate_cxx();
close $fh;
@@ -88,7 +84,7 @@ sub build () {
"$1-L$2 -Wl,-rpath=$2$3"/egsx;
my @xflags = split(' ', "$fl $xflags"); # ' ' awk-mode eats leading WS
my @cflags = grep(!/\A-(?:Wl|l|L)/, @xflags);
- run_die([$cxx, '-c', "$prog.cpp", @cflags]);
+ run_die([$cxx, '-c', "$prog.cpp", '-I', $srcpfx, @cflags]);
run_die([$cxx, '-o', "$prog.tmp", "$prog.o", @xflags]);
unlink "$prog.cpp", "$prog.o";
write_file '>', 'XFLAGS.tmp', $xflags, "\n";
^ permalink raw reply related [relevance 7%]
* [PATCH 0/7] more I/O + process reliability and cleanups
@ 2023-11-26 2:10 5% Eric Wong
2023-11-26 2:10 7% ` [PATCH 1/7] xap_helper_cxx: do not copy xap_helper.h source Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-11-26 2:10 UTC (permalink / raw)
To: meta
6/7 ought to fix another hang in t/lei-q-save.t when writing to
v2 outputs.
Much of this stuff will be relevant to code search since Xapian
searches will be moved to C++ (if available) to support features
which aren't usable from Perl bindings and allow more
predictable performance anyways.
Eric Wong (7):
xap_helper_cxx: do not copy xap_helper.h source
xap_client: attach PID to the IO object
xap_client: pass arguments to top-level xap_helper
xap_helper: allow PI_NO_CXX to disable C++ in more places
git: move rbuf handling to PublicInbox::IO
git: improve coupling with {sock} and {inflight} fields
drop redundant calls to DS->Reset
lib/PublicInbox/CodeSearchIdx.pm | 11 +--
lib/PublicInbox/Daemon.pm | 1 -
lib/PublicInbox/Gcf2Client.pm | 7 +-
lib/PublicInbox/Git.pm | 138 ++++++++++++-------------------
lib/PublicInbox/GitAsyncCat.pm | 2 +-
lib/PublicInbox/IO.pm | 70 ++++++++++++++--
lib/PublicInbox/TestCommon.pm | 2 +-
lib/PublicInbox/Watch.pm | 6 +-
lib/PublicInbox/XapClient.pm | 9 +-
lib/PublicInbox/XapHelperCxx.pm | 11 +--
lib/PublicInbox/Xapcmd.pm | 6 +-
t/xap_helper.t | 5 +-
12 files changed, 145 insertions(+), 123 deletions(-)
^ permalink raw reply [relevance 5%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-11-26 2:10 5% [PATCH 0/7] more I/O + process reliability and cleanups Eric Wong
2023-11-26 2:10 7% ` [PATCH 1/7] xap_helper_cxx: do not copy xap_helper.h source Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
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).