2007-08-29 18:23:50 +02:00
|
|
|
#!/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"
|
|
|
|
|
2010-01-10 22:28:38 +01:00
|
|
|
for cpus in 1 2 3 4 5 6 ; do
|
2007-08-29 18:23:50 +02:00
|
|
|
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
|