In jc-bench.sh, decode the --before and --after args. Use a separate data dir to avoid re-downloading files when the work dir is cleared.
This commit is contained in:
@@ -77,29 +77,69 @@ done
|
|||||||
WORK="${RUNDIR}/work"
|
WORK="${RUNDIR}/work"
|
||||||
mkdir -p "${WORK}"
|
mkdir -p "${WORK}"
|
||||||
|
|
||||||
# XAX use a different data dir
|
DATA="${RUNDIR}/data"
|
||||||
if [ ! -r "${WORK}/../canada.json" ] ; then
|
mkdir -p "${DATA}"
|
||||||
curl -L -o "${WORK}/../canada.json" 'https://github.com/mloskot/json_benchmark/raw/master/data/canada.json'
|
|
||||||
|
if [ ! -r "${DATA}/canada.json" ] ; then
|
||||||
|
curl -L -o "${DATA}/canada.json" 'https://github.com/mloskot/json_benchmark/raw/master/data/canada.json'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Identify "after" commit hash
|
# Identify "after" commit hash, in order of preference
|
||||||
|
if [ ! -z "$after_arg" -a -d "$after_arg" ] ; then
|
||||||
|
# Use provided directory
|
||||||
|
after_src_dir="$after_arg"
|
||||||
|
after_commit=
|
||||||
|
else
|
||||||
|
_commit=
|
||||||
|
if [ ! -z "$after_arg" ] ; then
|
||||||
|
# Use provided commit hash
|
||||||
|
_commit=$(git rev-parse --verify "$after_arg")
|
||||||
|
fi
|
||||||
|
if [ ! -z "$_commit" ] ;then
|
||||||
|
after_src_dir= # i.e. current tree
|
||||||
|
after_commit="$_commit"
|
||||||
|
else
|
||||||
|
# Local changes in current working directory
|
||||||
|
# ${cur_branch}
|
||||||
after_src_dir=$TOP
|
after_src_dir=$TOP
|
||||||
after_commit=
|
after_commit=
|
||||||
if [ ! -z "$after_arg" ] ; then
|
fi
|
||||||
# XXX decode this in more detail.
|
|
||||||
# XXX for now, just assume it's a path
|
|
||||||
after_src_dir=$after_arg
|
|
||||||
after_commit=
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Identify "before" commit hash
|
# Identify "before" commit hash, in order of preference
|
||||||
before_src_dir=
|
if [ ! -z "$before_arg" -a -d "$before_arg" ] ; then
|
||||||
#before_commit=origin/master
|
# Use provided directory
|
||||||
before_commit=origin/json-c-0.14
|
|
||||||
if [ ! -z "$before_arg" ] ; then
|
|
||||||
# XXX decode this in more detail
|
|
||||||
before_src_dir="$before_arg"
|
before_src_dir="$before_arg"
|
||||||
before_commit=
|
before_commit=
|
||||||
|
else
|
||||||
|
_commit=
|
||||||
|
if [ ! -z "$before_arg" ] ; then
|
||||||
|
# Use provided commit hash
|
||||||
|
_commit=$(git rev-parse --verify "$before_arg")
|
||||||
|
fi
|
||||||
|
if [ ! -z "$_commit" ] ;then
|
||||||
|
before_src_dir= # i.e. current tree
|
||||||
|
before_commit="$_commit"
|
||||||
|
else
|
||||||
|
# Use origin/${cur_branch}, if different from ${after_commit}
|
||||||
|
_cur_branch=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
_commit=
|
||||||
|
if [ ! -z "${_cur_branch}" ] ; then
|
||||||
|
_commit=$(git rev-parse --verify "origin/${_cur_branch}")
|
||||||
|
fi
|
||||||
|
if [ "$_commit" = "${after_commit}" ] ; then
|
||||||
|
_commit=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$_commit" ] ; then
|
||||||
|
before_src_dir= # i.e. current tree
|
||||||
|
before_commit="$_commit"
|
||||||
|
else
|
||||||
|
# Use previous release
|
||||||
|
before_src_dir= # i.e. current tree
|
||||||
|
before_commit="$(git tag | sort | tail -1)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
compile_benchmark()
|
compile_benchmark()
|
||||||
@@ -162,7 +202,7 @@ run_benchmark()
|
|||||||
local inst_dir="${WORK}/$bname/install"
|
local inst_dir="${WORK}/$bname/install"
|
||||||
local bench_dir="${WORK}/$bname/bench"
|
local bench_dir="${WORK}/$bname/bench"
|
||||||
|
|
||||||
local INPUT=${WORK}/../canada.json
|
local INPUT=${DATA}/canada.json
|
||||||
|
|
||||||
cd "${bench_dir}"
|
cd "${bench_dir}"
|
||||||
mkdir -p results
|
mkdir -p results
|
||||||
|
|||||||
Reference in New Issue
Block a user