#!/bin/sh

uname -a
gcc --version
vips --version

# how large an image do you want to process? 
# sample2.v is 290x442 pixels ... replicate this many times horizontally and 
# vertically to get a highres image for the benchmark
tile=13

# how complex an operation do you want to run?
# this sets the number of copies of the benchmark we chain together:
# higher values run more slowly and are more likely to be CPU-bound
chain=1

echo building test image ...
echo "tile=$tile"
vips im_replicate sample2.v temp.v $tile $tile
if [ $? != 0 ]; then
  echo "build of test image failed -- out of disc space?"
  exit 1
fi
echo -n "test image is" `header -f Xsize temp.v` 
echo " by" `header -f Ysize temp.v` "pixels"

echo "starting benchmark ..."
echo "chain=$chain"

for cpus in 1 2 3 4 5 6 ; do
  export IM_CONCURRENCY=$cpus

  echo IM_CONCURRENCY=$IM_CONCURRENCY
  echo time -p vips im_benchmarkn temp.v temp2.v $chain
  time -p vips im_benchmarkn temp.v temp2.v $chain
  time -p vips im_benchmarkn temp.v temp2.v $chain

  if [ $? != 0 ]; then
    echo "benchmark failed -- install problem?"
    exit 1
  fi

  # find pixel average ... should be the same for all IM_CONCURRENCY settings
  # or we have some kind of terrible bug
  echo vips im_avg temp2.v
  vips im_avg temp2.v
done
