GithubHelp home page GithubHelp logo

libvips / vips-bench Goto Github PK

View Code? Open in Web Editor NEW
17.0 7.0 3.0 1.33 MB

a simple image processing benchmark implemented in a range of image processing packages

Ruby 12.75% Shell 21.00% C 21.67% C++ 5.05% Perl 3.15% Python 4.49% MATLAB 0.76% PHP 1.55% Pike 0.61% Lua 0.68% JavaScript 0.72% ImageJ Macro 0.39% Witcher Script 27.18%

vips-bench's Introduction

vips-bench

We've written programs using number of different image processing systems to load a TIFF image, crop 100 pixels off every edge, shrink by 10% with bilinear interpolation, sharpen with a 3x3 convolution and save again. It's a trivial test but it does give some idea of the speed and memory behaviour of these libraries (and it's also quite fun to compare the code).

Bilinear interpolation is poor quality and no one would use it, but it is available everywhere.

Running the test

There's a driver program -- run

./benchmark.sh

to generate the test image and run all the benchmarks.

The program is very simple and doesn't do much error checking. You'll need to look through the output and make sure everything is working correctly. In particular, make sure you have all the packages installed. On Ubuntu, you can do this by running

sudo apt-get install imagemagick graphicsmagick libopencv-dev \
	python-imaging netpbm libfreeimage-dev \
	exactimage gegl composer libvips nip2

gem install rmagick ruby-vips image_science

pip install gdlib pyvips

Skip libvips and nip2 if you already have them installed. You may need more recent versions of some packages. The netpbm in Ubuntu is very old and installing from the website is a good idea. Ubuntu libvips tends to lag as well.

Results

The speed and memory use page on the libvips website has a table of results.

TODO

The peakmem.pl program doesn't seem to be working correctly, investigate.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.