OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / github.com / pelletier / go-toml / benchmark.sh
1 #!/bin/bash
2
3 set -e
4
5 reference_ref=${1:-master}
6 reference_git=${2:-.}
7
8 if ! `hash benchstat 2>/dev/null`; then
9     echo "Installing benchstat"
10     go get golang.org/x/perf/cmd/benchstat
11     go install golang.org/x/perf/cmd/benchstat
12 fi
13
14 tempdir=`mktemp -d /tmp/go-toml-benchmark-XXXXXX`
15 ref_tempdir="${tempdir}/ref"
16 ref_benchmark="${ref_tempdir}/benchmark-`echo -n ${reference_ref}|tr -s '/' '-'`.txt"
17 local_benchmark="`pwd`/benchmark-local.txt"
18
19 echo "=== ${reference_ref} (${ref_tempdir})"
20 git clone ${reference_git} ${ref_tempdir} >/dev/null 2>/dev/null
21 pushd ${ref_tempdir} >/dev/null
22 git checkout ${reference_ref} >/dev/null 2>/dev/null
23 go test -bench=. -benchmem | tee ${ref_benchmark}
24 popd >/dev/null
25
26 echo ""
27 echo "=== local"
28 go test -bench=. -benchmem  | tee ${local_benchmark}
29
30 echo ""
31 echo "=== diff"
32 benchstat -delta-test=none ${ref_benchmark} ${local_benchmark}