about summary refs log tree commit
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-02-02 06:52:16 +0000
committerEric Wong <e@yhbt.net>2020-02-02 17:29:51 +0000
commit45e2c97624268da5e030ac3e4c033e6022b8c0de (patch)
treed120464f74712041536a7099d68b6b72c5e8df63
parent2710d3105e70ff467eff9e977325628b4e9dd1c5 (diff)
downloadpublic-inbox-45e2c97624268da5e030ac3e4c033e6022b8c0de.tar.gz
The $jobs parameter in `public-inbox-convert' is passed to
V2Writable->init_inbox as `undef' by default, causing
parallelization to be disabled.

Instead, leave the underlying {parallel} flag untouched if
$shards is undef and do not clobber the default shard count.

This allows us to take advantage of multicore systems when
running public-inbox-convert with no command-line switches.
-rw-r--r--lib/PublicInbox/V2Writable.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 37d27302..72d8d5af 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -107,8 +107,11 @@ sub new {
 
 # public (for now?)
 sub init_inbox {
-        my ($self, $parallel, $skip_epoch) = @_;
-        $self->{parallel} = $parallel;
+        my ($self, $shards, $skip_epoch) = @_;
+        if (defined $shards) {
+                $self->{parallel} = 0 if $shards == 0;
+                $self->{shards} = $shards if $shards > 0;
+        }
         $self->idx_init;
         my $epoch_max = -1;
         git_dir_latest($self, \$epoch_max);