Add 'lwip' module to benchmark tests

Dependencies bump
This commit is contained in:
Lovell Fuller 2015-07-10 22:14:56 +01:00
parent b8885c1faa
commit 3a058c0c27
4 changed files with 73 additions and 10 deletions

View File

@ -737,7 +737,7 @@ brew install graphicsmagick
``` ```
``` ```
sudo apt-get install -qq imagemagick graphicsmagick libmagickcore-dev sudo apt-get install -qq imagemagick graphicsmagick libmagick++-dev
``` ```
``` ```

View File

@ -45,8 +45,8 @@
"vips" "vips"
], ],
"dependencies": { "dependencies": {
"bluebird": "^2.9.30", "bluebird": "^2.9.33",
"color": "^0.9.0", "color": "^0.10.1",
"nan": "^1.8.4", "nan": "^1.8.4",
"semver": "^4.3.6" "semver": "^4.3.6"
}, },
@ -59,7 +59,7 @@
"mocha": "^2.2.5", "mocha": "^2.2.5",
"mocha-jshint": "^2.2.3", "mocha-jshint": "^2.2.3",
"node-cpplint": "^0.4.0", "node-cpplint": "^0.4.0",
"rimraf": "^2.4.0" "rimraf": "^2.4.1"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": { "engines": {

View File

@ -10,9 +10,10 @@
"devDependencies": { "devDependencies": {
"imagemagick": "^0.1.3", "imagemagick": "^0.1.3",
"imagemagick-native": "mash/node-imagemagick-native", "imagemagick-native": "mash/node-imagemagick-native",
"gm": "^1.17.0", "gm": "^1.18.1",
"async": "^0.9.0", "lwip": "^0.0.7",
"semver": "^4.3.0", "async": "^1.3.0",
"semver": "^4.3.6",
"benchmark": "^1.0.0" "benchmark": "^1.0.0"
}, },
"license": "Apache 2.0", "license": "Apache 2.0",

View File

@ -10,6 +10,7 @@ var semver = require('semver');
var imagemagick = require('imagemagick'); var imagemagick = require('imagemagick');
var imagemagickNative = require('imagemagick-native'); var imagemagickNative = require('imagemagick-native');
var gm = require('gm'); var gm = require('gm');
var lwip = require('lwip');
var sharp = require('../../index'); var sharp = require('../../index');
var fixtures = require('../fixtures'); var fixtures = require('../fixtures');
@ -26,7 +27,48 @@ sharp.cache(0);
async.series({ async.series({
jpeg: function(callback) { jpeg: function(callback) {
var inputJpgBuffer = fs.readFileSync(fixtures.inputJpg); var inputJpgBuffer = fs.readFileSync(fixtures.inputJpg);
(new Benchmark.Suite('jpeg')).add('imagemagick-file-file', { (new Benchmark.Suite('jpeg')).add('lwip-file-file', {
defer: true,
fn: function(deferred) {
lwip.open(fixtures.inputJpg, function (err, image) {
if (err) {
throw err;
}
image.resize(width, height, 'linear', function (err, image) {
if (err) {
throw err;
}
image.writeFile(fixtures.outputJpg, {quality: 80}, function (err) {
if (err) {
throw err;
}
deferred.resolve();
});
});
});
}
}).add('lwip-buffer-buffer', {
defer: true,
fn: function(deferred) {
lwip.open(inputJpgBuffer, 'jpg', function (err, image) {
if (err) {
throw err;
}
image.resize(width, height, 'linear', function (err, image) {
if (err) {
throw err;
}
image.toBuffer('jpg', {quality: 80}, function (err, buffer) {
if (err) {
throw err;
}
assert.notStrictEqual(null, buffer);
deferred.resolve();
});
});
});
}
}).add('imagemagick-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagick.resize({ imagemagick.resize({
@ -404,7 +446,28 @@ async.series({
png: function(callback) { png: function(callback) {
var inputPngBuffer = fs.readFileSync(fixtures.inputPng); var inputPngBuffer = fs.readFileSync(fixtures.inputPng);
var pngSuite = new Benchmark.Suite('png'); var pngSuite = new Benchmark.Suite('png');
pngSuite.add('imagemagick-file-file', { pngSuite.add('lwip-buffer-buffer', {
defer: true,
fn: function(deferred) {
lwip.open(inputPngBuffer, 'png', function (err, image) {
if (err) {
throw err;
}
image.resize(width, height, 'linear', function (err, image) {
if (err) {
throw err;
}
image.toBuffer('png', function (err, buffer) {
if (err) {
throw err;
}
assert.notStrictEqual(null, buffer);
deferred.resolve();
});
});
});
}
}).add('imagemagick-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagick.resize({ imagemagick.resize({
@ -412,7 +475,6 @@ async.series({
dstPath: fixtures.outputPng, dstPath: fixtures.outputPng,
width: width, width: width,
height: height, height: height,
format: 'jpg',
filter: magickFilter filter: magickFilter
}, function(err) { }, function(err) {
if (err) { if (err) {