#!/bin/sh

TESTFILE="$1"
if [ -z "$TESTFILE" ]; then
  echo usage:  $0 testfile [filesize]
  exit 1
fi

FILESIZE="$2"
if [ -z "$FILESIZE" ]; then
  #FILESIZE=1048576 # 1 GB
  FILESIZE=8388608 # 8 GB
  echo Using default filesize=$FILESIZE
fi

OS=`uname`
if [ "$OS" = "Linux" ] ; then
  METHOD="pfa2"
  CC="gcc"
elif [ "$OS" = "SunOS" ] ; then
  METHOD="aio"
  CC="c99"
else
  echo Operating system $OS not supported by this program
  exit 1
fi

OUTPUTFILE="prefetch-results.csv"
PROGRAM="prefetch"

echo Executing $METHOD test using compiler $CC

$CC $PROGRAM.c -o $PROGRAM -lrt
if [ "$?" -ne "0" ]; then
  echo Compile failed
  exit 1
fi

for i in 1 2 3 4 5 6 7 8 16 24 32 64 96 128 192 256 384 512 768 1024 2048 4096 8192 ; do
  ./$PROGRAM $METHOD $TESTFILE $FILESIZE 8192 $i 8192 false ; 
done >> $OUTPUTFILE

for i in 1 2 3 4 5 6 7 8 16 24 32 64 96 128 192 256 384 512 768 1024 2048 4096 8192 ; do
  ./$PROGRAM $METHOD $TESTFILE $FILESIZE 8192 $i 8192 true ; 
done >> $OUTPUTFILE

