|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# first download connector jar into test directory |
| 4 | +# depends on go, java, awk, sed, tee, sort, tail, cat, echo, read and exit |
| 5 | +# all except go and java should be present on anything Unixy (only tested on OS X) |
| 6 | + |
| 7 | +# !!! this is pretty raw and doesn't do any checks |
| 8 | +# !!! read and understand it before you run it |
| 9 | + |
| 10 | +unify-format() { |
| 11 | + sed -n '/BENCHMARKING/{s/ *[^ ]* \(.*\) \[run \([12]\).*/BENCHMARK|\1|\2/p;};/.*:.*/{s/\([^:]*\):[^\[]*\[ \([0-9]*\).*/\1|\2/p;}'\ |
| 12 | + | awk 'BEGIN{FS="|";OFS="\t";BENCHMARKED="Java";BENCHRUN=1}{if(NF==3){BENCHMARKED=$2;BENCHRUN=$3}else{print BENCHMARKED, BENCHRUN, $1, $2}}' |
| 13 | +} |
| 14 | + |
| 15 | +benchmark-java() { |
| 16 | + CONNECTOR=$(ls mysql-connector-java-*-bin.jar|tail -1) |
| 17 | + java -cp .:$CONNECTOR SQLBenchmark |
| 18 | +} |
| 19 | + |
| 20 | +GO_VERSION=$(go version|sed 's/^[^0-9+]*\([+.0-9a-f]*\).*/\1/') |
| 21 | + |
| 22 | +GO_LOG=go-$GO_VERSION.log |
| 23 | +JAVA_LOG_1=java-run1.log |
| 24 | +JAVA_LOG_2=java-run2.log |
| 25 | + |
| 26 | +RESULT=all-go$GO_VERSION.tsv |
| 27 | + |
| 28 | +TEMP_LOG=java+go.log.tsv |
| 29 | + |
| 30 | +# nag the user with a dialog... |
| 31 | +echo -n "Do you understand what this does? Ctrl-C if not, else Enter."; read || exit |
| 32 | + |
| 33 | +# compile java |
| 34 | +javac -cp $(ls mysql-connector-java-*-bin.jar|tail -1) SQLBenchmark.java |
| 35 | + |
| 36 | +# empty temp log |
| 37 | +> $TEMP_LOG |
| 38 | + |
| 39 | +echo "Benchmarking Java, run 1 (raw in $JAVA_LOG_1)" |
| 40 | +benchmark-java | tee $JAVA_LOG_1\ |
| 41 | + | unify-format >> $TEMP_LOG |
| 42 | + |
| 43 | +echo "Benchmarking Go (raw in $GO_LOG)" |
| 44 | +go run sqlBenchmark.go | tee $GO_LOG\ |
| 45 | + | unify-format >> $TEMP_LOG |
| 46 | + |
| 47 | +echo "Benchmarking Java, run 2 (raw in $JAVA_LOG_2)" |
| 48 | +benchmark-java | tee $JAVA_LOG_2\ |
| 49 | + | unify-format >> $TEMP_LOG |
| 50 | + |
| 51 | +echo "Sorting results (will be in $RESULT)" |
| 52 | +sort -t " " -k 3,3 -k 4,4n < $TEMP_LOG > $RESULT |
| 53 | + |
| 54 | +# cleanup |
| 55 | +rm $TEMP_LOG |
Facebook Story Ideas For Business Credit Cards With 10000 Limit