Skip to content

Commit

Permalink
Add benchmark script
Browse files Browse the repository at this point in the history
  • Loading branch information
turol committed Aug 26, 2024
1 parent b261dd4 commit c611c8a
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions benchmark.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/sh
set -e

if [ "$#" -ne 4 ] ; then
echo "Compare the speed of two different disasmtool versions"
echo "Usage $0 <first disasmtool> <second disasmtool> <input file> <iterations>"
exit 0
fi

FIRST=$1
SECOND=$2
INPUT=$3
COUNT=$4

if [ ! -x "$FIRST" ] ; then
echo "First program $FIRST does not exist or is not executable"
exit 1
fi

if [ ! -x "$SECOND" ] ; then
echo "Second program $SECOND does not exist or is not executable"
exit 1
fi

if [ ! -f "$INPUT" ] ; then
echo "Input file $INPUT does not exist"
exit 1
fi

case $COUNT in
''|*[!0-9]*) echo "Iteration count $COUNT is not a number" ; exit 1 ;;
*) ;;
esac

truncate -s 0 before.txt
truncate -s 0 after.txt

# Make sure all necessary files are in cache
$FIRST -f $INPUT -nv > /dev/null
$SECOND -f $INPUT -nv > /dev/null

for n in `seq 1 $COUNT` ; do
echo "$n"
$FIRST -f $INPUT -nv -iv | tee -a before.txt
$SECOND -f $INPUT -nv -iv | tee -a after.txt
done

ministat -C 6 before.txt after.txt
echo 'Instructions/second, higher is better'
if [ "$COUNT" -ne 30 ] ; then
echo "Sample count $COUNT was less than 30, results might be unreliable"
fi

0 comments on commit c611c8a

Please sign in to comment.