X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=build-book.sh;h=7d49663f5fb6f2c90a2bcff821287c6d130b0db2;hb=4a7c263734f23fc6b2ef0e6f8adb1ce344a22053;hp=38284cf1577dcbf0a2f4e4830081ce32777e916f;hpb=93b72aef4261420c520889c352015a6405e22a26;p=remoteglot-book diff --git a/build-book.sh b/build-book.sh index 38284cf..7d49663 100755 --- a/build-book.sh +++ b/build-book.sh @@ -2,7 +2,8 @@ set -e -SHARDS=40 +export SHARDS=40 +export PARALLEL_LOADS=20 # Reduce if you have problems with OOM rm -f part-*.bin part-*.mtbl part-*.mtbl.part???? open.mtbl.new open.mtbl.part???? open.mtbl.part????.new 2>/dev/null @@ -13,17 +14,12 @@ for FILE in "$@"; do done date -for FILE in part-*.bin; do - ( ./binloader "$FILE" "${FILE/bin/mtbl}" $SHARDS ) & -done -wait +echo "Loading..." +parallel -i -j ${PARALLEL_LOADS} bash -c 'FILE="{}"; set -x; ./binloader "$FILE" "${FILE/bin/mtbl}" $SHARDS' -- part-*.bin rm -f part-*.bin -for X in $( seq 0 $(( SHARDS - 1 )) ); do - ( ./binmerger part-*.mtbl.part$( printf %04d $X ) open.mtbl.part$( printf %04d $X ).new ) & -done -wait +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 )) ) for X in $( seq 0 $(( SHARDS - 1 )) ); do mv open.mtbl.part$( printf %04d $X ).new open.mtbl.part$( printf %04d $X )