vendor/github.com/pelletier/go-toml/benchmark.sh
changeset 242 2a9ec03fe5a1
child 251 1c52a0eeb952
equal deleted inserted replaced
241:e77dad242f4c 242:2a9ec03fe5a1
       
     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}