equal
deleted
inserted
replaced
|
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} |