tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

performance.sh (6698B)


      1 #!/bin/sh  
      2 #
      3 # This Source Code Form is subject to the terms of the Mozilla Public
      4 # License, v. 2.0. If a copy of the MPL was not distributed with this
      5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      6 #
      7 # This is just a quick script so we can still run our testcases.
      8 # Longer term we need a scriptable test environment..
      9 #
     10 . ../common/init.sh
     11 CURDIR=`pwd`
     12 if [ "${OS_ARCH}" = "WINNT" -a "$OS_NAME" = "CYGWIN_NT" ]; then
     13 CURDIR=`cygpath -m ${CURDIR}`
     14 fi
     15 
     16 CIPHERDIR=${HOSTDIR}/cipher
     17 SKTESTS=${CURDIR}/symmkey.txt
     18 RSATESTS=${CURDIR}/rsa.txt
     19 DSATESTS=${CURDIR}/dsa.txt
     20 HASHTESTS=${CURDIR}/hash.txt
     21 SKPERFOUT=${CIPHERDIR}/skperfout.data
     22 RSAPERFOUT=${CIPHERDIR}/rsaperfout.data
     23 DSAPERFOUT=${CIPHERDIR}/dsaperfout.data
     24 HASHPERFOUT=${CIPHERDIR}/hashperfout.data
     25 PERFRESULTS=${HOSTDIR}/performance.html
     26 
     27 echo "<HTML><BODY>" >> ${PERFRESULTS}
     28 
     29 mkdir -p ${CIPHERDIR}
     30 cd ${CIPHERDIR}
     31 
     32 if [ -z $1 ]; then
     33    TESTSET="all"
     34 else
     35    TESTSET=$1
     36 fi
     37 
     38 if [ $TESTSET = "all" -o $TESTSET = "symmkey" ]; then
     39 echo "<TABLE BORDER=1><TR><TH COLSPAN=6>Symmetric Key Cipher Performance</TH></TR>" >> ${PERFRESULTS}
     40 echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>SYMMETRIC KEY SIZE (bits)</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
     41 
     42 while read mode keysize bufsize reps cxreps
     43 do
     44    if [ $mode != "#" ]; then
     45 echo "bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps"
     46 ${BINDIR}/bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps >> ${SKPERFOUT}
     47 mv "tmp.in.0" "$mode.in"
     48 mv tmp.key $mode.key
     49 if [ -f tmp.iv ]; then
     50     mv tmp.iv $mode.iv
     51 fi
     52 echo "bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.out"
     53 ${BINDIR}/bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.out >> ${SKPERFOUT}
     54 echo "bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.inv"
     55 ${BINDIR}/bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.inv >> ${SKPERFOUT}
     56    fi
     57 done < ${SKTESTS} 
     58 
     59 while read md buf sk rps cxrps cx op
     60 do
     61    if [ $md != "#" ]; then
     62 echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$sk</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
     63    fi
     64 done < ${SKPERFOUT} 
     65 
     66 echo "</TABLE><BR>" >> ${PERFRESULTS}
     67 
     68 fi
     69 
     70 if [ $TESTSET = "all" -o $TESTSET = "rsa" ]; then
     71 while read mode keysize bufsize exp reps cxreps
     72 do
     73    if [ $mode != "#" ]; then
     74 echo "bltest -N -m $mode -b $bufsize -e $exp -g $keysize -u $cxreps"
     75 ${BINDIR}/bltest -N -m $mode -b $bufsize -e $exp -g $keysize -u $cxreps >> ${RSAPERFOUT}
     76 mv "tmp.in.0" "$mode.in"
     77 mv tmp.key $mode.key
     78 echo "bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out"
     79 ${BINDIR}/bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out >> ${RSAPERFOUT}
     80 echo "bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.inv"
     81 ${BINDIR}/bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.inv >> ${RSAPERFOUT}
     82    fi
     83 done < ${RSATESTS} 
     84 
     85 echo "<TABLE BORDER=1><TR><TH COLSPAN=7>RSA Cipher Performance</TH></TR>" >> ${PERFRESULTS}
     86 echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>KEY SIZE (bits)</TH><TH>PUBLIC EXPONENT</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
     87 
     88 while read md buf mod pe rps cxrps cx op
     89 do
     90    if [ $md != "#" ]; then
     91 echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$mod</TD><TD align=right>$pe</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
     92    fi
     93 done < ${RSAPERFOUT} 
     94 
     95 echo "</TABLE><BR>" >> ${PERFRESULTS}
     96 fi
     97 
     98 if [ -z "${NSS_DISABLE_DSA}" ]; then
     99 if [ $TESTSET = "all" -o $TESTSET = "dsa" ]; then
    100 
    101 while read mode keysize bufsize reps cxreps
    102 do
    103    if [ $mode != "#" ]; then
    104 echo "bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps"
    105 ${BINDIR}/bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps >> ${DSAPERFOUT}
    106 mv "tmp.in.0" "$mode.in"
    107 mv tmp.key $mode.key
    108 rm -f $mode.out
    109 echo "bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out"
    110 ${BINDIR}/bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out >> ${DSAPERFOUT}
    111 echo "bltest -V -m $mode -f ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -i ${CIPHERDIR}/$mode.in -o ${CIPHERDIR}/$mode.out"
    112 ${BINDIR}/bltest -V -m $mode -f ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -i ${CIPHERDIR}/$mode.in -o ${CIPHERDIR}/$mode.out >> ${DSAPERFOUT}
    113    fi
    114 done < ${DSATESTS} 
    115 
    116 echo "<TABLE BORDER=1><TR><TH COLSPAN=6>DSA Cipher Performance</TH></TR>" >> ${PERFRESULTS}
    117 echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>KEY SIZE (bits)</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
    118 
    119 while read md buf mod rps cxrps cx op
    120 do
    121    if [ $md != "#" ]; then
    122 echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$mod</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
    123    fi
    124 done < ${DSAPERFOUT} 
    125 
    126 echo "</TABLE><BR>" >> ${PERFRESULTS}
    127 fi
    128 fi
    129 
    130 if [ $TESTSET = "all" -o $TESTSET = "hash" ]; then
    131 while read mode bufsize reps
    132 do
    133    if [ $mode != "#" ]; then
    134 echo "bltest -N -m $mode -b $bufsize"
    135 ${BINDIR}/bltest -N -m $mode -b $bufsize
    136 mv "tmp.in.0" "$mode.in"
    137 echo "bltest -H -m $mode -i ${CIPHERDIR}/$mode.in -p $reps -o ${CIPHERDIR}/$mode.out"
    138 ${BINDIR}/bltest -H -m $mode -i ${CIPHERDIR}/$mode.in -p $reps -o ${CIPHERDIR}/$mode.out >> ${HASHPERFOUT}
    139    fi
    140 done < ${HASHTESTS} 
    141 
    142 echo "<TABLE BORDER=1><TR><TH COLSPAN=6>Hash Cipher Performance</TH></TR>" >> ${PERFRESULTS}
    143 echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>REPETITIONS</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
    144 
    145 while read md buf rps cxrps cx op
    146 do
    147    if [ $md != "#" ]; then
    148 echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$rps</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
    149    fi
    150 done < ${HASHPERFOUT} 
    151 
    152 echo "</TABLE><BR>" >> ${PERFRESULTS}
    153 fi
    154 
    155 #rm -f ${TEMPFILES}
    156 cd ${CURDIR}
    157 
    158 echo "</BODY></HTML>" >> ${PERFRESULTS}