From c85122ff5b5e934786df9c08fa34cd063fa6c0fa Mon Sep 17 00:00:00 2001 From: Jakub Pawlowicz Date: Sun, 19 Apr 2015 14:42:17 +0100 Subject: [PATCH] Tweaks performance of multiproperty restructuring. We compare property names first then head to comparing a body which adds a stringify step. --- lib/selectors/optimizers/advanced.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/selectors/optimizers/advanced.js b/lib/selectors/optimizers/advanced.js index 3963d790..f0981ba3 100644 --- a/lib/selectors/optimizers/advanced.js +++ b/lib/selectors/optimizers/advanced.js @@ -472,13 +472,15 @@ AdvancedOptimizer.prototype.restructure = function (tokens) { var mergeableToken = mergeableTokens[i]; for (j = mergeableToken[2].length - 1; j >= 0; j--) { + var mergeableProperty = mergeableToken[2][j]; for (k = 0, m = properties.length; k < m; k++) { var property = properties[k]; - var mergeablePropertyKey = stringifyBody([mergeableToken[2][j]]); - var propertyKey = property[4]; - if (mergeablePropertyKey === propertyKey) { + var mergeablePropertyName = mergeableProperty[0][0]; + var propertyName = property[0]; + var propertyBody = property[4]; + if (mergeablePropertyName == propertyName && stringifyBody([mergeableProperty]) == propertyBody) { mergeableToken[2].splice(j, 1); break; } -- 2.34.1