about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-10-30 08:11:41 +0000
committerEric Wong <e@80x24.org>2021-10-30 18:34:32 +0000
commit97a9139a75729c41bb91acd711e8b088e6379600 (patch)
tree6ad413ddea878693ffc9f29910fbb22912b14042 /lib
parent9cd6f106919076285c3dcc0d48977d6b39c33ede (diff)
downloadpublic-inbox-97a9139a75729c41bb91acd711e8b088e6379600.tar.gz
"text" and "reply" outputs are intended for the pager, so
parallelizing them is a waste of resources.

v2 has shards, of course, so parallelizing writes to it
is also a waste since the deduplication work is a bit
more complex.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/LeiQuery.pm2
-rw-r--r--lib/PublicInbox/LeiToMail.pm2
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm
index 3d0e5b14..352ee601 100644
--- a/lib/PublicInbox/LeiQuery.pm
+++ b/lib/PublicInbox/LeiQuery.pm
@@ -37,7 +37,7 @@ sub _start_query { # used by "lei q" and "lei up"
                         $lms->lms_write_prepare->lms_pause; # just create
                 }
         }
-        $l2m and $l2m->{-wq_nr_workers} = $mj //
+        $l2m and $l2m->{-wq_nr_workers} //= $mj //
                 int($nproc * 0.75 + 0.5); # keep some CPU for git
 
         # descending docid order is cheapest, MUA controls sorting order
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm
index 83f58a29..90db30e5 100644
--- a/lib/PublicInbox/LeiToMail.pm
+++ b/lib/PublicInbox/LeiToMail.pm
@@ -415,11 +415,13 @@ sub new {
                 require PublicInbox::LeiViewText;
                 $lei->{lvt} = PublicInbox::LeiViewText->new($lei, $fmt);
                 $self->{base_type} = 'text';
+                $self->{-wq_nr_workers} = 1; # for pager
                 @conflict = qw(mua save);
         } elsif ($fmt eq 'v2') {
                 die "--dedupe=oid and v2 are incompatible\n" if
                         ($lei->{opt}->{dedupe}//'') eq 'oid';
                 $self->{base_type} = 'v2';
+                $self->{-wq_nr_workers} = 1; # v2 has shards
                 $lei->{opt}->{save} = \1;
                 $dst = $lei->{ovv}->{dst} = $lei->abs_path($dst);
                 @conflict = qw(mua sort);