vendor/github.com/pelletier/go-toml/benchmark.sh
changeset 265 05c40b36d3b2
parent 264 8f478162d991
child 266 80973a656b81
equal deleted inserted replaced
264:8f478162d991 265:05c40b36d3b2
     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}