Skip to content

Instantly share code, notes, and snippets.

@mimischi
Created November 4, 2019 19:29
Show Gist options
  • Save mimischi/c3ee9de7692aa570b5ac816f3fe82391 to your computer and use it in GitHub Desktop.
Save mimischi/c3ee9de7692aa570b5ac816f3fe82391 to your computer and use it in GitHub Desktop.
MDBenchmark -- benchmarking
#!/bin/bash
# Branches to test
BRANCHES=( develop cli )
COMMANDS=( generate submit analyze plot )
generate_logname() {
COMMAND=$1
BRANCH=$2
echo ${BRANCH}_${COMMAND}.log
}
profile_python_importtime() {
# Disable python caching
export PYTHONDONTWRITEBYTECODE=1
COMMAND=$1
LOGNAME=$2
python -X importtime mdbenchmark ${COMMAND} 2> tuna/${LOGNAME}
}
create_tuna_page() {
COMMAND=$1
LOGNAME=$2
BRANCH=$3
DIR_PATH="${BRANCH}/${COMMAND}"
if [[ -z ${COMMAND} ]]; then
DIR_PATH="${BRANCH}/blank"
fi
mkdir -p tuna/${DIR_PATH}/static
tuna tuna/${LOGNAME} --no-browser -o tuna/${DIR_PATH}/
}
for branch in ${BRANCHES[@]}; do
git checkout ${branch}
logname=$(generate_logname mdbenchmark ${branch})
profile_python_importtime "" ${logname}
create_tuna_page "" ${logname} ${branch}
for command in ${COMMANDS[@]}; do
logname=$(generate_logname mdbenchmark_${command} ${branch})
profile_python_importtime ${command} ${logname}
create_tuna_page ${command} ${logname} ${branch}
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment