Merge pull request #7 from ndenev/master

Make it work on OS X. Allow analyze script to continue if it sees a skipped test due to a missing language/compiler.
master
Ivan Zahariev 2016-10-17 22:52:48 +03:00 committed by GitHub
commit 5e9048ef4c
2 changed files with 16 additions and 3 deletions

View File

@ -263,7 +263,7 @@ sub main {
while ($line = <STDIN>) {
chomp($line);
if ($line =~ /^\s*#/) {
if ($line =~ /^(\s*#|SKIPPING)/) {
next;
}

17
run.sh
View File

@ -8,6 +8,19 @@ MIN_NLINES="${MIN_NLINES:=10}" # it's a fatal error if we get less than this num
SRC_FILTER="${SRC_FILTER:=x}" # if provided, execute only the given test
DRY_RUN="${DRY_RUN:=0}" # if enabled, do only the compilation phase
_OS="$(uname)"
if [ "$_OS" == "Linux" ]; then
TIME_CMD="$(which time)"
elif [ "$_OS" == "Darwin" ]; then
TIME_CMD="$(which gtime)"
fi
if [ "$TIME_CMD" == "" ]; then
echo "Unable to find the GNU time command." >&2
echo "If you are on a non-Linux OS such as Mac OS or *BSD you will need to install it separately." >&2
exit -1
fi
export RUN_TIME
echo "# Run time limited to $RUN_TIME wall-clock seconds"
@ -48,11 +61,11 @@ function run_benchmark() {
echo "# ... run $n"
TIMES_FILE="$(mktemp --suffix .langs_perf)" || exit 1
TIMES_FILE="$(mktemp)" || exit 1
OUT="$(
{
/usr/bin/time -o "$TIMES_FILE" --format \
"$TIME_CMD" -o "$TIMES_FILE" --format \
'real_TIME:%esec user_CPU:%Usec sys_CPU:%Ssec max_RSS:%Mkb swaps:%W ctx_sw:%c+%w' \
$RUN_CMD
} 2>&1