From d3b34860a703c0e853a40a907458909ccae56aee Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Fri, 24 Mar 2017 21:15:04 -0700 Subject: [PATCH] resourceloader: Use Array#map instead of jQuery#map for arrays Upto 50% faster, depending on the browser. https://gist.github.com/Krinkle/4a22236022027af511b8d33feab0c4c2#gistcomment-2037282 Also change confusing parameter name 'i' to 'obj' in getModuleNames(). This one can't be changed since it loops over an object, not an array. Bug: T160953 Change-Id: I85d6348670703c7ef061ba735ea441a1fc008062 --- resources/src/mediawiki/mediawiki.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index c2cee7ec6f..b963c7b0c1 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -983,7 +983,7 @@ * @return {string} Hash of concatenated version hashes. */ function getCombinedVersion( modules ) { - var hashes = $.map( modules, function ( module ) { + var hashes = modules.map( function ( module ) { return registry[ module ].version; } ); return fnv132( hashes.join( '' ) ); @@ -2146,7 +2146,7 @@ * @return {Array} */ getModuleNames: function () { - return $.map( registry, function ( i, key ) { + return $.map( registry, function ( obj, key ) { return key; } ); }, @@ -2778,7 +2778,7 @@ // for all loading modules. If one fails, fall back to tracking each module // separately via $.when(), this is expensive. loading = mw.loader.using( loading ).then( null, function () { - var all = $.map( loading, function ( module ) { + var all = loading.map( function ( module ) { return mw.loader.using( module ).then( null, function () { return $.Deferred().resolve(); } ); -- 2.20.1