You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
#!/bin/bash |
|
|
|
# for a given node version run: |
|
# for i in {0..9}; do node benchmark.js >> bench_0.6.2.log; done; |
|
|
|
PATTERNS=('nodeuuid.v1()' "nodeuuid.v1('binary'," 'nodeuuid.v4()' "nodeuuid.v4('binary'," "uuid()" "uuid('binary')" 'uuidjs.create(1)' 'uuidjs.create(4)' '140byte') |
|
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) |
|
INDICES=(2 3 2 3 2 2 2 2 2) |
|
VERSIONS=$( ls bench_*.log | sed -e 's/^bench_\([0-9\.]*\)\.log/\1/' | tr "\\n" " " ) |
|
TMPJOIN="tmp_join" |
|
OUTPUT="bench_results.txt" |
|
|
|
for I in ${!FILES[*]}; do |
|
F=${FILES[$I]} |
|
P=${PATTERNS[$I]} |
|
INDEX=${INDICES[$I]} |
|
echo "version $F" > $F |
|
for V in $VERSIONS; do |
|
(VAL=$( grep "$P" bench_$V.log | LC_ALL=en_US awk '{ sum += $'$INDEX' } END { print sum/NR }' ); echo $V $VAL) >> $F |
|
done |
|
if [ $I == 0 ]; then |
|
cat $F > $TMPJOIN |
|
else |
|
join $TMPJOIN $F > $OUTPUT |
|
cp $OUTPUT $TMPJOIN |
|
fi |
|
rm $F |
|
done |
|
|
|
rm $TMPJOIN |
|
|
|
gnuplot bench.gnu |
|
convert -density 200 -resize 800x560 -flatten bench.eps bench.png |
|
rm bench.eps
|
|
|