]> Sergey Matveev's repositories - public-inbox.git/commit
over: remove forked subprocess
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Sat, 7 Apr 2018 03:41:49 +0000 (03:41 +0000)
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Sat, 7 Apr 2018 03:42:26 +0000 (03:42 +0000)
commit06cd576bb9b73eb177728fead06de8c3fac8d7a3
tree87433009229de29532053f25b9a7fd4a35314321
parent59b5b84b8843d54024b5bb182f02b9b487a1ed29
over: remove forked subprocess

Since the overview stuff is a synchronization point anyways,
move it into the main V2Writable process and allow us to
drop a bunch of code.  This is another step towards making
Xapian optional for v2.

In other words, the fan-out point is moved and the Xapian
partitions no longer need to synchronize against each other:

Before:
                     /-------->\
                    /---------->\
     v2writable -->+----parts----> over
                    \---------->/
                     \-------->/

After:

                          /---------->
                         /----------->
  v2writable --> over-->+----parts--->
                         \----------->
                          \---------->

Since the overview/threading logic needs to run on the same core
that feeds git-fast-import, it's slower for small repos but is
not noticeable in large imports where I/O wait in the partitions
dominates.
MANIFEST
lib/PublicInbox/OverIdx.pm
lib/PublicInbox/OverIdxFork.pm [deleted file]
lib/PublicInbox/SearchIdx.pm
lib/PublicInbox/SearchIdxPart.pm
lib/PublicInbox/V2Writable.pm