]> git.sesse.net Git - remoteglot-book/blobdiff - build-book.sh
Set parallel merges to a value different from parallel loads.
[remoteglot-book] / build-book.sh
index 7d49663f5fb6f2c90a2bcff821287c6d130b0db2..60d5710ed481eda49ee4e372bbf778778688e1dd 100755 (executable)
@@ -3,14 +3,18 @@
 set -e
 
 export SHARDS=40
-export PARALLEL_LOADS=20  # Reduce if you have problems with OOM
+export PARALLEL_LOADS=15  # Reduce if you have problems with OOM
+export PARALLEL_MERGES=40
 
-rm -f part-*.bin part-*.mtbl part-*.mtbl.part???? open.mtbl.new open.mtbl.part???? open.mtbl.part????.new 2>/dev/null
+rm -f pgnnames.txt part-*.bin part-*.mtbl part-*.mtbl.part???? open.mtbl.new open.mtbl.part???? open.mtbl.part????.new 2>/dev/null
 
+PGNNUM=0
 for FILE in "$@"; do
        date | tr -d "\n"
        echo "  $FILE"
-       ./parallel-parse-pgn.sh "$FILE"
+       ./parallel-parse-pgn.sh "$FILE" "$PGNNUM"
+       echo "$FILE" >> pgnnames.txt
+       PGNNUM=$(( PGNNUM + 1 ))
 done
 date 
 
@@ -19,7 +23,7 @@ parallel -i -j ${PARALLEL_LOADS} bash -c 'FILE="{}"; set -x; ./binloader "$FILE"
 
 rm -f part-*.bin
 
-parallel -i -j ${PARALLEL_LOADS} bash -c 'X={}; set -x; ./binmerger part-*.mtbl.part$( printf %04d $X ) open.mtbl.part$( printf %04d $X ).new' -- $( seq 0 $(( SHARDS - 1 )) )
+parallel -i -j ${PARALLEL_MERGES} bash -c 'X={}; set -x; ./binmerger part-*.mtbl.part$( printf %04d $X ) open.mtbl.part$( printf %04d $X ).new' -- $( seq 0 $(( SHARDS - 1 )) )
 
 for X in $( seq 0 $(( SHARDS - 1 )) ); do
        mv open.mtbl.part$( printf %04d $X ).new open.mtbl.part$( printf %04d $X )