diff --git a/test/bench/package.json b/test/bench/package.json index 71647e67..3199cd70 100644 --- a/test/bench/package.json +++ b/test/bench/package.json @@ -10,6 +10,7 @@ "devDependencies": { "@squoosh/cli": "0.7.2", "@squoosh/lib": "0.4.0", + "@tensorflow/tfjs-node": "^3.20.0", "async": "3.2.4", "benchmark": "2.1.4", "gm": "1.23.1", diff --git a/test/bench/perf.js b/test/bench/perf.js index abacdbdf..569b6c64 100644 --- a/test/bench/perf.js +++ b/test/bench/perf.js @@ -14,6 +14,8 @@ const imagemagick = require('imagemagick'); const mapnik = require('mapnik'); const jimp = require('jimp'); const squoosh = require('@squoosh/lib'); +process.env.TF_CPP_MIN_LOG_LEVEL = 1; +const tfjs = require('@tensorflow/tfjs-node'); const fixtures = require('../fixtures'); @@ -250,6 +252,24 @@ async.series({ }); } }); + // tfjs + jpegSuite.add('tfjs-node-buffer-buffer', { + defer: true, + fn: function (deferred) { + const decoded = tfjs.node.decodeJpeg(inputJpgBuffer); + const resized = tfjs.image.resizeBilinear(decoded, [height, width]); + tfjs + .node + .encodeJpeg(resized, 'rgb', 80) + .then(function () { + deferred.resolve(); + tfjs.disposeVariables(); + }) + .catch(function (err) { + throw err; + }); + } + }); // sharp jpegSuite.add('sharp-buffer-file', { defer: true,