From: Jakub Pawlowicz Date: Sun, 19 Apr 2015 13:42:17 +0000 (+0100) Subject: Tweaks performance of multiproperty restructuring. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=c85122ff5b5e934786df9c08fa34cd063fa6c0fa;p=clean-css.git Tweaks performance of multiproperty restructuring. We compare property names first then head to comparing a body which adds a stringify step. --- 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; }