From 3a058c0c2734d4a8c936224449f5e16969f0f6fb Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 10 Jul 2015 22:14:56 +0100 Subject: [PATCH] Add 'lwip' module to benchmark tests Dependencies bump --- README.md | 2 +- package.json | 6 ++-- test/bench/package.json | 7 +++-- test/bench/perf.js | 68 +++++++++++++++++++++++++++++++++++++++-- 4 files changed, 73 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e553949d..a78fb290 100755 --- a/README.md +++ b/README.md @@ -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 ``` ``` diff --git a/package.json b/package.json index 49f90f64..f727b67b 100755 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "vips" ], "dependencies": { - "bluebird": "^2.9.30", - "color": "^0.9.0", + "bluebird": "^2.9.33", + "color": "^0.10.1", "nan": "^1.8.4", "semver": "^4.3.6" }, @@ -59,7 +59,7 @@ "mocha": "^2.2.5", "mocha-jshint": "^2.2.3", "node-cpplint": "^0.4.0", - "rimraf": "^2.4.0" + "rimraf": "^2.4.1" }, "license": "Apache-2.0", "engines": { diff --git a/test/bench/package.json b/test/bench/package.json index e4efc2a3..9d7987f9 100755 --- a/test/bench/package.json +++ b/test/bench/package.json @@ -10,9 +10,10 @@ "devDependencies": { "imagemagick": "^0.1.3", "imagemagick-native": "mash/node-imagemagick-native", - "gm": "^1.17.0", - "async": "^0.9.0", - "semver": "^4.3.0", + "gm": "^1.18.1", + "lwip": "^0.0.7", + "async": "^1.3.0", + "semver": "^4.3.6", "benchmark": "^1.0.0" }, "license": "Apache 2.0", diff --git a/test/bench/perf.js b/test/bench/perf.js index 5dce9c6f..c92ef804 100755 --- a/test/bench/perf.js +++ b/test/bench/perf.js @@ -10,6 +10,7 @@ var semver = require('semver'); var imagemagick = require('imagemagick'); var imagemagickNative = require('imagemagick-native'); var gm = require('gm'); +var lwip = require('lwip'); var sharp = require('../../index'); var fixtures = require('../fixtures'); @@ -26,7 +27,48 @@ sharp.cache(0); async.series({ jpeg: function(callback) { 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, fn: function(deferred) { imagemagick.resize({ @@ -404,7 +446,28 @@ async.series({ png: function(callback) { var inputPngBuffer = fs.readFileSync(fixtures.inputPng); 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, fn: function(deferred) { imagemagick.resize({ @@ -412,7 +475,6 @@ async.series({ dstPath: fixtures.outputPng, width: width, height: height, - format: 'jpg', filter: magickFilter }, function(err) { if (err) {