#!/usr/pkg/bin/bash if [ $# -ne 2 ] then echo "Usage: ./openssl_bench.sh number_of_tests number_of_cores" exit 1 fi runs=$1 procs=$2 function loop_open_ssl() { for i in $(seq 1 $2) do openssl speed rsa512 &> /dev/null >> $1 done } function print_cell() { str=$1 cell_length=$2 printf "%s" $str no_of_chars=$(echo $str |wc -m) no_of_spaces=$(($cell_length-$no_of_chars)) for i in $(seq 1 $no_of_spaces) do printf " " done } function preety_print() { it=1 cell_size=17 prefix=$1 no_of_files=$2 for param in $(seq 1 $no_of_files) do output[it]=$(cat $prefix$param |tr -s " " | grep ^rsa|cut -d " " -f4|tr "\n" " ") it=$(($it+1)) print_cell $prefix$param $cell_size done printf "\n" for i in $(seq 1 $no_of_files) do for j in $(seq 1 $cell_size) do printf "-" done done printf "\n" count=$(echo ${output[1]}|wc -w) for c in $(seq 1 $count) do for i in $(seq 1 $no_of_files) do value[i]=$(echo ${output[i]}|cut -d" " -f $c) print_cell ${value[i]} $cell_size done printf "\n" done for i in $(seq 1 $no_of_files) do for j in $(seq 1 $cell_size) do printf "-" done done printf "\n" } sysctl kern.usched_bsd4.cache_coherent=0 &> /dev/null echo "###### STARTING openssl speed rsa512 with kern.usched_bsd4.smt=0 ######" sysctl kern.usched_bsd4.smt=0 &> /dev/null if [ $? -ne 0 ] then echo "smt option isn't available" exit $? fi for i in $(seq 1 $procs) do loop_open_ssl no_smt1$i $runs & done wait preety_print no_smt1 $procs echo echo echo "###### STARTING openssl speed rsa512 with kern.usched_bsd4.smt=1 ######" sysctl kern.usched_bsd4.smt=1 &> /dev/null if [ $? -ne 0 ] then echo "smt option isn't available" exit $? fi for i in $(seq 1 $procs) do loop_open_ssl smt1$i $runs & done wait preety_print smt1 $procs echo echo #clean up for i in $(seq 1 $procs) do rm -rf no_smt1$i smt1$i done