summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradamantike <mike@fmanganiello.com.ar>2016-01-24 21:19:17 -0300
committeradamantike <mike@fmanganiello.com.ar>2016-01-24 21:19:17 -0300
commit0756a9ce2da7fe72f04ff6e79385c99a9573ba97 (patch)
tree51c0dda4d261be87d9ba1f45d5b0e0681fbaa0d5
parentea71fcb22c677aa9a53e510152bfc0a419bae1af (diff)
downloadrsa-git-0756a9ce2da7fe72f04ff6e79385c99a9573ba97.tar.gz
Command availability check on 'speed' script
-rwxr-xr-xspeed.sh70
1 files changed, 38 insertions, 32 deletions
diff --git a/speed.sh b/speed.sh
index c7b69cf..3c2de69 100755
--- a/speed.sh
+++ b/speed.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# Copyright 2011 Sybren A. Stüvel <sybren@stuvel.eu>
#
@@ -14,37 +14,43 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Checks if a command is available on the system.
+check_command() {
+ # Return with error, if not called with just one argument.
+ if [ "$#" != 1 ]; then
+ echo "ERROR: Incorrect usage of function 'check_program'." 1>&2
+ echo " Correct usage: check_command COMMAND" 1>&2
+ return 1
+ fi
+ # Check command availability.
+ command -v "$1" >/dev/null 2>&1
+}
+
+python_versions="
+ pypy
+ python2.5
+ python2.6
+ python2.7
+ python3.2
+ python3.3
+ python3.4
+ python3.5
+"
+
echo "int2bytes speed test"
-echo "pypy"
-pypy -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
-pypy -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
-echo "python2.5"
-python2.5 -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
-python2.5 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
-echo "python2.6"
-python2.6 -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n, 516)'
-python2.6 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n, 516)'
-echo "python2.7"
-python2.7 -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
-python2.7 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
-echo "python3.2"
-python3 -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
-python3 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
+for version in $python_versions; do
+ if check_command "$version"; then
+ echo "$version"
+ "$version" -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
+ "$version" -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
+ fi
+done
echo "bit_size speed test"
-echo "python2.5"
-python2.5 -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
-python2.5 -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
-echo "python2.6"
-python2.6 -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
-python2.6 -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
-echo "python2.7"
-python2.7 -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
-python2.7 -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
-echo "python3.2"
-python3 -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
-python3 -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
-echo "pypy"
-pypy -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
-pypy -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
-
+for version in $python_versions; do
+ if check_command "$version"; then
+ echo "$version"
+ "$version" -mtimeit -s'from rsa.common import bit_size; n = 1<<4096' 'bit_size(n)'
+ "$version" -mtimeit -s'from rsa.common import _bit_size; n = 1<<4096' '_bit_size(n)'
+ fi
+done