diff --git a/tools/perf.sh b/tools/perf.sh index 7702f205a..35ac7c47e 100755 --- a/tools/perf.sh +++ b/tools/perf.sh @@ -18,11 +18,20 @@ ITERS="$1" ENGINE="$2" BENCHMARK="$3" PRINT_MIN="$4" +OS=`uname -s | tr [:upper:] [:lower:]` +if [ "$OS" == "darwin" ] +then perf_values=$(( ( for i in `seq 1 1 $ITERS`; do time $ENGINE "$BENCHMARK"; done ) 2>&1 ) | \ - grep user | \ - sed 's/user[ \t]*\([0-9]*\)m\([0-9.]*\)s/\1 \2/g' | \ - awk 'BEGIN { min_v = -1; } { v = $1 * 60 + $2; if (min_v == -1 || v < min_v) { min_v = v; }; s += v; n += 1; } END { print s / n, min_v; }'); + grep user | \ + sed 's/user[ ]*\([0-9]*\)m\([0-9.]*\)s/\1 \2/g' | \ + awk 'BEGIN { min_v = -1; } { v = $1 * 60 + $2; if (min_v == -1 || v < min_v) { min_v = v; }; s += v; n += 1; } END { print s / n, min_v; }'); +else +perf_values=$(( ( for i in `seq 1 1 $ITERS`; do time $ENGINE "$BENCHMARK"; done ) 2>&1 ) | \ + grep user | \ + sed 's/user[ \t]*\([0-9]*\)m\([0-9.]*\)s/\1 \2/g' | \ + awk 'BEGIN { min_v = -1; } { v = $1 * 60 + $2; if (min_v == -1 || v < min_v) { min_v = v; }; s += v; n += 1; } END { print s / n, min_v; }'); +fi; if [ "$PRINT_MIN" == "-min" ] then diff --git a/tools/rss-measure.sh b/tools/rss-measure.sh index 4c9a08c1e..34aa76f17 100755 --- a/tools/rss-measure.sh +++ b/tools/rss-measure.sh @@ -17,6 +17,7 @@ JERRY=$1 TEST=$2 SLEEP=0.1 +OS=`uname -s | tr [:upper:] [:lower:]` Rss_OUT="" @@ -25,7 +26,12 @@ function collect_entry() OUT_NAME="$1_OUT"; OUT=$OUT_NAME; - SUM=$(grep -o -e "^[0-9a-f][0-9a-f]*.*" -e "^Rss.*" /proc/$PID/smaps 2>/dev/null | grep -A 1 -- "r[w-]-p " | grep "^Rss"|awk '{s += $2;} END {print s;}') + if [ "$OS" == "darwin" ] + then + SUM=`ps -o rss $PID | grep [0-9]` + else + SUM=$(grep -o -e "^[0-9a-f][0-9a-f]*.*" -e "^Rss.*" /proc/$PID/smaps 2>/dev/null | grep -A 1 -- "r[w-]-p " | grep "^Rss"|awk '{s += $2;} END {print s;}') + fi; if [ "$SUM" != "" ]; then diff --git a/tools/run-perf-test.sh b/tools/run-perf-test.sh index c60682ae7..786536b53 100755 --- a/tools/run-perf-test.sh +++ b/tools/run-perf-test.sh @@ -107,6 +107,7 @@ function run-suite() done } +date printf "%40s | %28s | %28s |\n" "Benchmark" "RSS
(+ is better)" "Perf
(+ is better)" printf "%40s | %28s | %28s |\n" "---------" "---" "----" @@ -119,3 +120,4 @@ perf_rel_gmean=$(echo "$perf_rel_mult" "$perf_n" | awk '{print $1 ^ (1.0 / $2);} perf_percent_gmean=$(echo "$perf_rel_gmean" | awk '{print (1.0 - $1) * 100;}') printf "%40s | %28s | %28s |\n" "Geometric mean:" "RSS reduction: $mem_percent_gmean%" "Speed up: $perf_percent_gmean%" +date