From 7038288f7fd5965f7712bc7d0fa6c7aed12b6b25 Mon Sep 17 00:00:00 2001 From: "e.gavrin" Date: Fri, 8 Aug 2014 13:56:59 +0400 Subject: [PATCH] add test_stability.sh script to test last N commit for perf --- ...rithmetics.js => loop_arithmetics_10kk.js} | 0 benchmarks/jerry/loop_arithmetics_1kk.js | 30 ++++++++++++++ tools/rss_measure.sh | 1 - tools/test_stability.sh | 39 +++++++++++++++++++ 4 files changed, 69 insertions(+), 1 deletion(-) rename benchmarks/jerry/{loop_arithmetics.js => loop_arithmetics_10kk.js} (100%) create mode 100644 benchmarks/jerry/loop_arithmetics_1kk.js create mode 100755 tools/test_stability.sh diff --git a/benchmarks/jerry/loop_arithmetics.js b/benchmarks/jerry/loop_arithmetics_10kk.js similarity index 100% rename from benchmarks/jerry/loop_arithmetics.js rename to benchmarks/jerry/loop_arithmetics_10kk.js diff --git a/benchmarks/jerry/loop_arithmetics_1kk.js b/benchmarks/jerry/loop_arithmetics_1kk.js new file mode 100644 index 000000000..3bfbd9eb8 --- /dev/null +++ b/benchmarks/jerry/loop_arithmetics_1kk.js @@ -0,0 +1,30 @@ +// Copyright 2014 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +var count = 1000000; +var x = 7; +var y = 3; + +var tmp1; +var tmp2; +var tmp3; +var tmp4; + +for (var i = 0; i < count; i++) +{ + tmp1 = x * x; + tmp2 = y * y; + tmp3 = tmp1 * tmp1; + tmp4 = tmp2 * tmp2; +} diff --git a/tools/rss_measure.sh b/tools/rss_measure.sh index 88e8c1401..cef59cda2 100755 --- a/tools/rss_measure.sh +++ b/tools/rss_measure.sh @@ -61,7 +61,6 @@ then echo -e $SHARE_OUTPUT; fi; -echo echo =================== echo -e $RSS_OUTPUT | awk '{ if ($1 != "") { sum += $1; n += 1; if ($1 > max) { max = $1; } } } END { printf "Rss average:\t\t%d Kb\tRss max: %d Kb\n", sum / n, max; }' echo -e $PSS_OUTPUT | awk '{ if ($1 != "") { sum += $1; n += 1; if ($1 > max) { max = $1; } } } END { printf "Pss average:\t\t%d Kb\tPss max: %d Kb\n", sum / n, max; }' diff --git a/tools/test_stability.sh b/tools/test_stability.sh new file mode 100755 index 000000000..9100cccb0 --- /dev/null +++ b/tools/test_stability.sh @@ -0,0 +1,39 @@ +# Copyright 2014 Samsung Electronics Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#!/bin/bash + +NUM_COMMITS=$1 +BENCH=./benchmarks/jerry/loop_arithmetics_1kk.js +TARGET=release.linux + +trap ctrl_c INT + +function ctrl_c() { + git checkout master >&/dev/null + exit 1 +} + +commits_to_push=`git log -$NUM_COMMITS | grep "^commit [0-9a-f]*$" | awk 'BEGIN { s = ""; } { s = $2" "s; } END { print s; }'` + +for commit_hash in $commits_to_push +do + echo "Testing..." + git log --format=%B -n 1 $commit_hash + make clean $TARGET + ./tools/rss_measure.sh ./out/$TARGET/jerry $BENCH + echo +done + +git checkout master >&/dev/null