Auto-exclude benchmark contenders that fail compilation

This commit is contained in:
Lovell Fuller 2015-08-24 18:55:59 +01:00
parent 4e67a5025a
commit 78f31d2b0d

View File

@ -7,11 +7,22 @@ var assert = require('assert');
var Benchmark = require('benchmark'); var Benchmark = require('benchmark');
var semver = require('semver'); var semver = require('semver');
var imagemagick = require('imagemagick'); // Contenders
var imagemagickNative = require('imagemagick-native');
var gm = require('gm'); var gm = require('gm');
var lwip = require('lwip'); var imagemagick = require('imagemagick');
var sharp = require('../../index'); var sharp = require('../../index');
var imagemagickNative;
try {
imagemagickNative = require('imagemagick-native');
} catch (err) {
console.log('Excluding imagemagick-native');
}
var lwip;
try {
lwip = require('lwip');
} catch (err) {
console.log('Excluding lwip');
}
var fixtures = require('../fixtures'); var fixtures = require('../fixtures');
@ -27,7 +38,10 @@ 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('lwip-file-file', { var jpegSuite = new Benchmark.Suite('jpeg');
// lwip
if (typeof lwip !== 'undefined') {
jpegSuite.add('lwip-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
lwip.open(fixtures.inputJpg, function (err, image) { lwip.open(fixtures.inputJpg, function (err, image) {
@ -68,7 +82,10 @@ async.series({
}); });
}); });
} }
}).add('imagemagick-file-file', { });
}
// imagemagick
jpegSuite.add('imagemagick-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagick.resize({ imagemagick.resize({
@ -87,7 +104,10 @@ async.series({
} }
}); });
} }
}).add('imagemagick-native-buffer-buffer', { });
// imagemagick-native
if (typeof imagemagickNative !== 'undefined') {
jpegSuite.add('imagemagick-native-buffer-buffer', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagickNative.convert({ imagemagickNative.convert({
@ -106,7 +126,10 @@ async.series({
} }
}); });
} }
}).add('gm-buffer-file', { });
}
// gm
jpegSuite.add('gm-buffer-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
gm(inputJpgBuffer) gm(inputJpgBuffer)
@ -168,7 +191,9 @@ async.series({
} }
}); });
} }
}).add('sharp-buffer-file', { });
// sharp
jpegSuite.add('sharp-buffer-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
sharp(inputJpgBuffer).resize(width, height).toFile(fixtures.outputJpg, function(err) { sharp(inputJpgBuffer).resize(width, height).toFile(fixtures.outputJpg, function(err) {
@ -446,6 +471,8 @@ 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');
// lwip
if (typeof lwip !== 'undefined') {
pngSuite.add('lwip-buffer-buffer', { pngSuite.add('lwip-buffer-buffer', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
@ -467,7 +494,10 @@ async.series({
}); });
}); });
} }
}).add('imagemagick-file-file', { });
}
// imagemagick
pngSuite.add('imagemagick-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagick.resize({ imagemagick.resize({
@ -484,7 +514,10 @@ async.series({
} }
}); });
} }
}).add('imagemagick-native-buffer-buffer', { });
// imagemagick-native
if (typeof imagemagickNative !== 'undefined') {
pngSuite.add('imagemagick-native-buffer-buffer', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
imagemagickNative.convert({ imagemagickNative.convert({
@ -496,7 +529,10 @@ async.series({
}); });
deferred.resolve(); deferred.resolve();
} }
}).add('gm-file-file', { });
}
// gm
pngSuite.add('gm-file-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
gm(fixtures.inputPng) gm(fixtures.inputPng)
@ -525,7 +561,9 @@ async.series({
} }
}); });
} }
}).add('sharp-buffer-file', { });
// sharp
pngSuite.add('sharp-buffer-file', {
defer: true, defer: true,
fn: function(deferred) { fn: function(deferred) {
sharp(inputPngBuffer).resize(width, height).toFile(fixtures.outputPng, function(err) { sharp(inputPngBuffer).resize(width, height).toFile(fixtures.outputPng, function(err) {