equal
deleted
inserted
replaced
1 #!/bin/bash |
|
2 |
|
3 set -ex |
|
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 fi |
|
12 |
|
13 tempdir=`mktemp -d /tmp/go-toml-benchmark-XXXXXX` |
|
14 ref_tempdir="${tempdir}/ref" |
|
15 ref_benchmark="${ref_tempdir}/benchmark-`echo -n ${reference_ref}|tr -s '/' '-'`.txt" |
|
16 local_benchmark="`pwd`/benchmark-local.txt" |
|
17 |
|
18 echo "=== ${reference_ref} (${ref_tempdir})" |
|
19 git clone ${reference_git} ${ref_tempdir} >/dev/null 2>/dev/null |
|
20 pushd ${ref_tempdir} >/dev/null |
|
21 git checkout ${reference_ref} >/dev/null 2>/dev/null |
|
22 go test -bench=. -benchmem | tee ${ref_benchmark} |
|
23 cd benchmark |
|
24 go test -bench=. -benchmem | tee -a ${ref_benchmark} |
|
25 popd >/dev/null |
|
26 |
|
27 echo "" |
|
28 echo "=== local" |
|
29 go test -bench=. -benchmem | tee ${local_benchmark} |
|
30 cd benchmark |
|
31 go test -bench=. -benchmem | tee -a ${local_benchmark} |
|
32 |
|
33 echo "" |
|
34 echo "=== diff" |
|
35 benchstat -delta-test=none ${ref_benchmark} ${local_benchmark} |
|