]> git.sesse.net Git - remoteglot-book/blob - build-book.sh
Store and merge the file number information. Still unused in the UI.
[remoteglot-book] / build-book.sh
1 #! /bin/bash
2
3 set -e
4
5 export SHARDS=40
6 export PARALLEL_LOADS=20  # Reduce if you have problems with OOM
7
8 rm -f pgnnames.txt part-*.bin part-*.mtbl part-*.mtbl.part???? open.mtbl.new open.mtbl.part???? open.mtbl.part????.new 2>/dev/null
9
10 PGNNUM=0
11 for FILE in "$@"; do
12         date | tr -d "\n"
13         echo "  $FILE"
14         ./parallel-parse-pgn.sh "$FILE" "$PGNNUM"
15         echo "$FILE" >> pgnnames.txt
16         PGNNUM=$(( PGNNUM + 1 ))
17 done
18 date 
19
20 echo "Loading..."
21 parallel -i -j ${PARALLEL_LOADS} bash -c 'FILE="{}"; set -x; ./binloader "$FILE" "${FILE/bin/mtbl}" $SHARDS' -- part-*.bin
22
23 rm -f part-*.bin
24
25 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 )) )
26
27 for X in $( seq 0 $(( SHARDS - 1 )) ); do
28         mv open.mtbl.part$( printf %04d $X ).new open.mtbl.part$( printf %04d $X )
29 done
30 rm -f part-*.mtbl.part????