Add jimp to perf tests #275

This commit is contained in:
Lovell Fuller 2015-09-27 09:38:47 +01:00
parent cdad84edc6
commit 6dce2deb82
2 changed files with 88 additions and 4 deletions

9
test/bench/package.json Executable file → Normal file
View File

@ -8,13 +8,14 @@
"test": "node perf && node random && node parallel" "test": "node perf && node random && node parallel"
}, },
"devDependencies": { "devDependencies": {
"async": "^1.4.2",
"benchmark": "^1.0.0",
"gm": "^1.20.0",
"imagemagick": "^0.1.3", "imagemagick": "^0.1.3",
"imagemagick-native": "^1.8.0", "imagemagick-native": "^1.8.0",
"gm": "^1.18.1", "jimp": "^0.2.5",
"lwip": "^0.0.7", "lwip": "^0.0.7",
"async": "^1.4.2", "semver": "^5.0.3"
"semver": "^5.0.1",
"benchmark": "^1.0.0"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": { "engines": {

View File

@ -10,6 +10,7 @@ var semver = require('semver');
// Contenders // Contenders
var gm = require('gm'); var gm = require('gm');
var imagemagick = require('imagemagick'); var imagemagick = require('imagemagick');
var jimp = require('jimp');
var sharp = require('../../index'); var sharp = require('../../index');
var imagemagickNative; var imagemagickNative;
try { try {
@ -39,6 +40,48 @@ async.series({
jpeg: function(callback) { jpeg: function(callback) {
var inputJpgBuffer = fs.readFileSync(fixtures.inputJpg); var inputJpgBuffer = fs.readFileSync(fixtures.inputJpg);
var jpegSuite = new Benchmark.Suite('jpeg'); var jpegSuite = new Benchmark.Suite('jpeg');
// jimp
jpegSuite.add('jimp-buffer-buffer', {
defer: true,
fn: function(deferred) {
new jimp(inputJpgBuffer, function(err) {
if (err) {
throw err;
} else {
this
.resize(width, height)
.quality(80)
.getBuffer(jimp.MIME_JPEG, function (err) {
if (err) {
throw err;
} else {
deferred.resolve();
}
});
}
});
}
}).add('jimp-file-file', {
defer: true,
fn: function(deferred) {
new jimp(fixtures.inputJpg, function(err) {
if (err) {
throw err;
} else {
this
.resize(width, height)
.quality(80)
.write(fixtures.outputJpg, function (err) {
if (err) {
throw err;
} else {
deferred.resolve();
}
});
}
});
}
});
// lwip // lwip
if (typeof lwip !== 'undefined') { if (typeof lwip !== 'undefined') {
jpegSuite.add('lwip-file-file', { jpegSuite.add('lwip-file-file', {
@ -471,6 +514,46 @@ 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');
// jimp
pngSuite.add('jimp-buffer-buffer', {
defer: true,
fn: function(deferred) {
new jimp(inputPngBuffer, function(err) {
if (err) {
throw err;
} else {
this
.resize(width, height)
.getBuffer(jimp.MIME_PNG, function (err) {
if (err) {
throw err;
} else {
deferred.resolve();
}
});
}
});
}
}).add('jimp-file-file', {
defer: true,
fn: function(deferred) {
new jimp(fixtures.inputPng, function(err) {
if (err) {
throw err;
} else {
this
.resize(width, height)
.write(fixtures.outputPng, function (err) {
if (err) {
throw err;
} else {
deferred.resolve();
}
});
}
});
}
});
// lwip // lwip
if (typeof lwip !== 'undefined') { if (typeof lwip !== 'undefined') {
pngSuite.add('lwip-buffer-buffer', { pngSuite.add('lwip-buffer-buffer', {