| #!/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 |