From c9879b15c7f2a5493f807b1207ba2f80d653aba8 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Fri, 7 Jun 2019 23:37:21 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Use=20`probe-image-size`=20to=20?= =?UTF-8?q?speed=20up=20fetching=20image=20dimensions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit no issue Fetching images across the network to get their dimensions is really slow. In the previous implementation we were fetching the entire image before using it to determine the image dimensions. However, for most images we don't need all of the data! Image dimensions can usually be determined from the headers or other information that is stored near the beginning of an image file, we should take advantage of that to massively speed up our dimension calculations and save a lot of network bandwidth. - use `probe-image-size` to fetch only enough of an image that is needed to get the dimensions - fall back to `image-size` for formats which `probe-image-size` doesn't support - replace `got` with `request` so we're not including two different request libraries - use `request-promise` wrapper library to simplify the code (uses `bluebird` under the hood which is the same as the `async` library that we're using As an example of the speedup offered, here are my tests which were using this library inside Ghost. The test page had 10 reasonably sized external images and the reported time is the initial amperization before caching. ``` image-size only: INFO amp.parse http://ghost.blog/2019/06/08/test/ 52278ms INFO amp.parse http://ghost.blog/2019/06/08/test/ 52717ms INFO amp.parse http://ghost.blog/2019/06/08/test/ 50582ms average: 51,859ms probe-image-size w/ image-size fallback: INFO amp.parse http://ghost.blog/2019/06/08/test/ 11147ms INFO amp.parse http://ghost.blog/2019/06/08/test/ 12297ms INFO amp.parse http://ghost.blog/2019/06/08/test/ 11188ms average: 11,544ms ``` Result: ~4.5x faster --- lib/amperize.js | 115 ++++++++++++++++++---------- package.json | 12 +-- test/amperize.test.js | 142 ++++++++++++++++++++++------------- test/fixtures/multi-size.ico | Bin 0 -> 432254 bytes 4 files changed, 170 insertions(+), 99 deletions(-) create mode 100644 test/fixtures/multi-size.ico diff --git a/lib/amperize.js b/lib/amperize.js index a77c85b..37dcb6a 100644 --- a/lib/amperize.js +++ b/lib/amperize.js @@ -7,7 +7,8 @@ var EventEmitter = require('events').EventEmitter, uuid = require('uuid'), async = require('async'), url = require('url'), - got = require('got'), + request = require('request-promise'), + probeImageSize = require('probe-image-size'), _ = require('lodash'), sizeOf = require('image-size'), validator = require('validator'), @@ -105,6 +106,16 @@ Amperize.prototype.amperizer = function amperizer(id, error, dom) { */ Amperize.prototype.traverse = function traverse(data, html, done) { var self = this; + var imageSizeCache = {}; + var timeout = 3000; + var requestOptions = { + // We need the user-agent, otherwise some https request may fail (e. g. cloudfare) + headers: { + 'User-Agent': 'Mozilla/5.0 Safari/537.36' + }, + timeout: timeout, + encoding: null + }; async.reduce(data, html, function reduce(html, element, step) { var children; @@ -158,62 +169,86 @@ Amperize.prototype.traverse = function traverse(data, html, done) { return enter(); } + // probe will fetch the minimal amount of data needed to determine + // the image dimensions so it's more performant than a full fetch + function _probeImageSize(url) { + return probeImageSize( + url, + requestOptions + ).then(function (result) { + imageSizeCache[url] = result; + return result; + }); + } + + // fetch the full image before reading dimensions using image-size, + // it's slower but has better format support + function _fetchImageSize(url) { + return request( + url, + Object.assign({}, requestOptions, { + encoding: null + }) + ).then(function (response) { + var result = sizeOf(response); + imageSizeCache[url] = result; + return result; + }); + } + + // select appropriate method to get image size + function _getImageSize(url) { + var [, extension] = url.match(/(?:\.)([a-zA-Z]{3,4})$/) || []; + + // use cached image size if we've already seen this url + if (imageSizeCache[url]) { + return Promise.resolve(imageSizeCache[url]); + } + + // // fetch full image for formats we can't probe + if (['cur', 'icns', 'ico', 'dds'].includes(extension)) { + return _fetchImageSize(url); + } + + // // probe partial image everything else + return _probeImageSize(url); + } + /** - * Get the image sizes (width and heigth plus type of image) + * Get the image sizes (width and height plus type of image) * - * https://github.com/image-size/image-size + * https://github.com/nodeca/probe-image-size * * @param {Object} element * @return {Object} element incl. width and height */ function getImageSize(element) { - var imageObj = url.parse(element.attribs.src), - requestOptions, - timeout = 3000; + var imageObj = url.parse(element.attribs.src); if (!validator.isURL(imageObj.href)) { // revert this element, do not show element.name = 'img'; - return enter(); } - // We need the user-agent, otherwise some https request may fail (e. g. cloudfare) - requestOptions = { - headers: { - 'User-Agent': 'Mozilla/5.0 Safari/537.36' - }, - timeout: timeout, - retry: 0, - encoding: null - }; - - return got( - imageObj.href, - requestOptions - ).then(function (response) { - try { - // Using the Buffer rather than an URL requires to use sizeOf synchronously. - // See https://github.com/image-size/image-size#asynchronous - var dimensions = sizeOf(response.body); - - // CASE: `.ico` files might have multiple images and therefore multiple sizes. - // We return the largest size found (image-size default is the first size found) - if (dimensions.images) { - dimensions.width = _.maxBy(dimensions.images, function (w) {return w.width;}).width; - dimensions.height = _.maxBy(dimensions.images, function (h) {return h.height;}).height; - } - - element.attribs.width = dimensions.width; - element.attribs.height = dimensions.height; - - return getLayoutAttribute(element); - } catch (err) { - // revert this element, do not show + return _getImageSize(imageObj.href).then(function (result) { + if ((!result.width || !result.height) && !result.images) { element.name = 'img'; return enter(); } - }).catch(function () { + + // CASE: `.ico` files might have multiple images and therefore multiple sizes. + // We return the largest size found (image-size default is the first size found) + if (result.images) { + result.width = _.maxBy(result.images, function (w) {return w.width;}).width; + result.height = _.maxBy(result.images, function (h) {return h.height;}).height; + } + + element.attribs.width = result.width; + element.attribs.height = result.height; + + return getLayoutAttribute(element); + }).catch(function (err) { // revert this element, do not show element.name = 'img'; return enter(); diff --git a/package.json b/package.json index 642a4e6..5806418 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,12 @@ "dependencies": { "async": "^2.1.4", "emits": "^3.0.0", - "got": "^9.6.0", "htmlparser2": "^3.9.2", - "image-size": "0.6.1", + "image-size": "^0.7.4", "lodash": "^4.17.4", + "probe-image-size": "^4.0.0", + "request": "^2.83.0", + "request-promise": "^4.2.4", "uuid": "^3.0.0", "validator": "^9.1.1" }, @@ -42,11 +44,11 @@ "cz-conventional-changelog": "2.1.0", "istanbul": "^0.4.5", "mocha": "^4.0.1", + "nock": "^9.0.2", + "rewire": "^2.5.2", "semantic-release": "9.1.0", "sinon": "1.17.7", - "sinon-chai": "^2.8.0", - "nock": "^9.0.2", - "rewire": "^2.5.2" + "sinon-chai": "^2.8.0" }, "config": { "commitizen": { diff --git a/test/amperize.test.js b/test/amperize.test.js index b10a6fe..7421664 100644 --- a/test/amperize.test.js +++ b/test/amperize.test.js @@ -4,6 +4,7 @@ var chai = require('chai'), sinonChai = require('sinon-chai'), nock = require('nock'), rewire = require('rewire'), + path = require('path'), Amperize = rewire('../lib/amperize'), amperize; @@ -69,12 +70,17 @@ describe('Amperize', function () { }); describe('#parse', function () { - var sizeOfMock, - sizeOfStub; + var resetProbeImageSize, + imageSizeMock, + probeImageSizeStub; beforeEach(function () { - // stubbing the `image-size` lib, so we don't to a request everytime - sizeOfStub = sinon.stub(); + // reset rewire so tests are independent + if (resetProbeImageSize) { + resetProbeImageSize(); + } + // stubbing the `probe-probe-image-size` lib, so we don't make a request everytime + probeImageSizeStub = sinon.stub(); }); afterEach(function () { @@ -90,14 +96,14 @@ describe('Amperize', function () { }); it('transforms small into with full image dimensions and fixed layout', function (done) { - sizeOfMock = nock('http://static.wixstatic.com') + imageSizeMock = nock('http://static.wixstatic.com') .get('/media/355241_d31358572a2542c5a44738ddcb59e7ea.jpg_256') .reply(200, { body: '' }); - sizeOfStub.returns({width: 50, height: 50, type: 'jpg'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 50, height: 50, type: 'jpg'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -112,14 +118,14 @@ describe('Amperize', function () { }); it('transforms big into with full image dimensions and responsive layout', function (done) { - sizeOfMock = nock('http://static.wixstatic.com') + imageSizeMock = nock('http://static.wixstatic.com') .get('/media/355241_d31358572a2542c5a44738ddcb59e7ea.jpg_256') .reply(200, { body: '' }); - sizeOfStub.returns({width: 350, height: 200, type: 'jpg'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 350, height: 200, type: 'jpg'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -134,14 +140,14 @@ describe('Amperize', function () { }); it('transforms into when width and height is set and overwrites it', function (done) { - sizeOfMock = nock('http://somestockwebsite.com') + imageSizeMock = nock('http://somestockwebsite.com') .get('/image.jpg') .reply(200, { body: '' }); - sizeOfStub.returns({width: 350, height: 200, type: 'jpg'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 350, height: 200, type: 'jpg'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -156,14 +162,14 @@ describe('Amperize', function () { }); it('transforms into does not overwrite layout attribute', function (done) { - sizeOfMock = nock('http://somestockwebsite.com') + imageSizeMock = nock('http://somestockwebsite.com') .get('/image.jpg') .reply(200, { body: '' }); - sizeOfStub.returns({width: 350, height: 200, type: 'jpg'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 350, height: 200, type: 'jpg'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -180,15 +186,15 @@ describe('Amperize', function () { it('transforms into when no file extension is given', function (done) { // This test is mocked, but works with this specific example. // You can comment out the mocks and the test should still pass. - sizeOfMock = nock('https://www.zomato.com') + imageSizeMock = nock('https://www.zomato.com') .matchHeader('User-Agent', /Mozilla\/.*Safari\/.*/) .get('/logo/18163505/minilogo') .reply(200, { body: '' }); - sizeOfStub.returns({width: 104, height: 15, type: 'png'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 104, height: 15, type: 'png'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -202,14 +208,29 @@ describe('Amperize', function () { }); }); + it('falls back to image-size for unprobable images', function (done) { + imageSizeMock = nock('https://somewebsite.com') + .get('/favicon.ico') + .replyWithFile(200, path.join(__dirname, 'fixtures/multi-size.ico')); + + amperize.parse('', function (error, result) { + expect(result).to.exist; + expect(result).to.contain(''); + done(); + }); + }); + it('returns largest image value for .ico files', function (done) { - sizeOfMock = nock('https://somewebsite.com') + imageSizeMock = nock('https://somewebsite.com') .get('/favicon.ico') - .reply(200, { - body: '' - }); + .replyWithFile(200, path.join(__dirname, 'fixtures/multi-size.ico')); - sizeOfStub.returns({ + probeImageSizeStub.returns(Promise.resolve({ width: 32, height: 32, type: 'ico', @@ -218,8 +239,8 @@ describe('Amperize', function () { {width: 32, height: 32}, {width: 16, height: 16} ] - }); - Amperize.__set__('sizeOf', sizeOfStub); + })); + resetProbeImageSize = Amperize.__set__('sizeOf', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -233,15 +254,36 @@ describe('Amperize', function () { }); }); + it('uses cached size rather than extra requests for duplicated images in html', function (done) { + var GIF1x1 = Buffer.from('R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==', 'base64'); + var secondImageSizeMock; + + imageSizeMock = nock('http://example.com') + .get('/image.jpg') + .reply(200, GIF1x1); + + secondImageSizeMock = nock('http://example.com') + .get('/image.jpg') + .reply(200, GIF1x1); + + amperize.parse('', function (error, result) { + expect(imageSizeMock.isDone()).to.equal(true); + expect(secondImageSizeMock.isDone()).to.equal(false); + expect(result).to.exist; + expect(result).to.match(/ with only height property into with full dimensions by overriding them', function (done) { - sizeOfMock = nock('https://media.giphy.com') + imageSizeMock = nock('https://media.giphy.com') .get('/media/l46CtzgjhTm29Cbjq/giphy.gif') .reply(200, { body: '' }); - sizeOfStub.returns({width: 800, height: 600, type: 'gif'}); - Amperize.__set__('sizeOf', sizeOfStub); + probeImageSizeStub.returns(Promise.resolve({width: 800, height: 600, type: 'gif'})); + resetProbeImageSize = Amperize.__set__('probeImageSize', probeImageSizeStub); amperize.parse('', function (error, result) { expect(result).to.exist; @@ -397,37 +439,33 @@ describe('Amperize', function () { }); it('can handle redirects', function (done) { - var secondSizeOfMock; + var secondImageSizeMock; + var GIF1x1 = Buffer.from('R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==', 'base64'); - sizeOfMock = nock('http://noimagehere.com') + imageSizeMock = nock('http://noimagehere.com') .get('/files/f/feedough/x/11/1540353_20925115.jpg') .reply(301, { - body: '' + body: '' }, { location: 'http://someredirectedurl.com/files/f/feedough/x/11/1540353_20925115.jpg' }); - secondSizeOfMock = nock('http://someredirectedurl.com') + secondImageSizeMock = nock('http://someredirectedurl.com') .get('/files/f/feedough/x/11/1540353_20925115.jpg') - .reply(200, { - body: '' - }); - - sizeOfStub.returns({width: 100, height: 100, type: 'jpg'}); - Amperize.__set__('sizeOf', sizeOfStub); + .reply(200, GIF1x1); amperize.parse('', function (error, result) { - expect(sizeOfMock.isDone()).to.be.equal(true); - expect(secondSizeOfMock.isDone()).to.be.equal(true); + expect(imageSizeMock.isDone()).to.be.equal(true, 'imageSizeMock isn\'t done'); + expect(secondImageSizeMock.isDone()).to.be.equal(true, 'secondImageSizeMock isn\'t done'); expect(error).to.be.null; - expect(result).to.contain(''); + expect(result).to.contain(''); done(); }); }); it('can handle request errors', function (done) { - sizeOfMock = nock('http://example.com') + imageSizeMock = nock('http://example.com') .get('/images/IMG_xyz.jpg') .reply(404, {message: 'something awful happened', code: 'AWFUL_ERROR'}); @@ -438,14 +476,11 @@ describe('Amperize', function () { }); }); - it('can handle errors of image-size module', function (done) { - sizeOfMock = nock('http://example.com') + it('can handle errors of probe-image-size module', function (done) { + // will throw ProbeError: unrecognized file format + imageSizeMock = nock('http://example.com') .get('/images/IMG_xyz.jpg') - .reply(200, { - body: '' - }); - sizeOfStub.throws({error: 'image-size could not find dimensions'}); - Amperize.__set__('sizeOf', sizeOfStub); + .reply(200, 'not an image'); amperize.parse('', function (error, result) { expect(error).to.be.null; @@ -456,13 +491,12 @@ describe('Amperize', function () { it('can handle timeout errors', function (done) { this.timeout(3500); + var GIF1x1 = Buffer.from('R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==', 'base64'); - sizeOfMock = nock('http://example.com') + imageSizeMock = nock('http://example.com') .get('/images/IMG_xyz.jpg') .delay(3500) - .reply(200, { - body: '' - }); + .reply(200, GIF1x1); amperize.parse('', function (error, result) { expect(error).to.be.null; diff --git a/test/fixtures/multi-size.ico b/test/fixtures/multi-size.ico new file mode 100644 index 0000000000000000000000000000000000000000..10b20d67832420ac34520bd9f235833425083a2a GIT binary patch literal 432254 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 literal 0 HcmV?d00001