Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Perfomance benchmarks of libvips library in comparison with other various image processing systems.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 image-magick
Octocat-spinner-32 images
Octocat-spinner-32 netpbm
Octocat-spinner-32 ruby
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 runner
README.md

vips-benchmarks

The goal of this repo is to demonstrate the performance of the libvips library in comparison to other image processing systems.

Now the accent on ruby-vips, Ruby bindings for libvips library, is made, but later the number of libraries (and platforms, I hope) will grow.

Last update: July, 20, 2012

Benchmarks for 2012.07.20

$ bundle exec ./runner 
Linux kiwi 3.2.0-30-generic #48-Ubuntu SMP Fri Aug 24 16:52:48 UTC 2012 x86_64
x86_64 x86_64 GNU/Linux
Ruby-vips 0.3.4 built against vips-7.30.3-Thu Sep 13 16:46:22 BST 2012
Version: ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP   

tifftopnm: Using libpbm from Netpbm Version: Netpbm 10.0
tifftopnm: BSD defined
tifftopnm: RGB_ENV='RGBDEF'
tifftopnm: RGBENV= 'RGBDEF' (env vbl is unset)
Image Science 1.2.3
building test image ...
tile=10
test image is 2900 by 4420 pixels
making tiff and jpeg derivatives ...
timing ruby/ruby-vips.rb ... done
timing ruby/rmagick.rb ... done
timing image-magick/image-magick ... done
timing ruby/image_sci.rb ... done
timing netpbm/netpbm.sh ... done
measuring memuse for ruby/ruby-vips.rb ... done
measuring memuse for ruby/rmagick.rb ... done
measuring memuse for ruby/image_sci.rb ... done

real time in seconds, fastest of three runs
benchmark   tiff    jpeg
ruby-vips.rb    0.64    0.68    
rmagick.rb  1.90    2.11    
netpbm.sh   2.07    1.66    
image-magick    2.86    3.00    
image_sci.rb    3.39    3.08    

peak memory use in kilobytes
benchmark   peak RSS
ruby-vips.rb    134768
image_sci.rb    585840
rmagick.rb  1407728

Performance test design

The repo has folders ruby/, cpp/ and others, each having platform specific scripts using various libraries available for this platform.

Each script is coded to execute the same scenario (see Scenario section).

Root folder contains runner script, running scripts available in all folders.

See "Do it yourself" section for how to run benchmark scenario.

Scenario

Test scenario was taken from Speed and Memory use page from libvips Home page

Do it yourself

git clone https://github.com/stanislaw/vips-benchmarks

cd vips-benchmarks

./runner 

TODO

  • Scenario: more solid!
  • More libraries for ruby
  • More platforms (suggestions are welcome!)

Copyright

Copyright (c) 2012 Stanislaw Pankevich and John Cupitt.

Something went wrong with that request. Please try again.