1 | #!/bin/bash
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | PATTERNS=('nodeuuid.v1()' "nodeuuid.v1('binary'," 'nodeuuid.v4()' "nodeuuid.v4('binary'," "uuid()" "uuid('binary')" 'uuidjs.create(1)' 'uuidjs.create(4)' '140byte')
|
7 | FILES=(node_uuid_v1_string node_uuid_v1_buf node_uuid_v4_string node_uuid_v4_buf libuuid_v4_string libuuid_v4_binary uuidjs_v1_string uuidjs_v4_string 140byte_es)
|
8 | INDICES=(2 3 2 3 2 2 2 2 2)
|
9 | VERSIONS=$( ls bench_*.log | sed -e 's/^bench_\([0-9\.]*\)\.log/\1/' | tr "\\n" " " )
|
10 | TMPJOIN="tmp_join"
|
11 | OUTPUT="bench_results.txt"
|
12 |
|
13 | for I in ${!FILES[*]}; do
|
14 | F=${FILES[$I]}
|
15 | P=${PATTERNS[$I]}
|
16 | INDEX=${INDICES[$I]}
|
17 | echo "version $F" > $F
|
18 | for V in $VERSIONS; do
|
19 | (VAL=$( grep "$P" bench_$V.log | LC_ALL=en_US awk '{ sum += $'$INDEX' } END { print sum/NR }' ); echo $V $VAL) >> $F
|
20 | done
|
21 | if [ $I == 0 ]; then
|
22 | cat $F > $TMPJOIN
|
23 | else
|
24 | join $TMPJOIN $F > $OUTPUT
|
25 | cp $OUTPUT $TMPJOIN
|
26 | fi
|
27 | rm $F
|
28 | done
|
29 |
|
30 | rm $TMPJOIN
|
31 |
|
32 | gnuplot bench.gnu
|
33 | convert -density 200 -resize 800x560 -flatten bench.eps bench.png
|
34 | rm bench.eps
|