Skip to content

Commit

Permalink
url: using util._extend for improving profermace
Browse files Browse the repository at this point in the history
`Object.assign` is much slower than `util._extend` according to
the refs. This change is to convert the `Object.assign` to use
`util._extend` in url module for improving profermance.

PR-URL: #16081
Refs: nodejs/CTC#62
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
  • Loading branch information
starkwang authored and refack committed Oct 10, 2017
1 parent 6d9654b commit c1cd731
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/internal/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ class URLSearchParams {
return ctx.stylize('[Object]', 'special');

var separator = ', ';
var innerOpts = Object.assign({}, ctx);
var innerOpts = util._extend({}, ctx);
if (recurseTimes !== null) {
innerOpts.depth = recurseTimes - 1;
}
Expand Down Expand Up @@ -373,7 +373,7 @@ Object.defineProperties(URL.prototype, {
value: function format(options) {
if (options && typeof options !== 'object')
throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'options', 'object');
options = Object.assign({
options = util._extend({
fragment: true,
unicode: false,
search: true,
Expand Down Expand Up @@ -1244,7 +1244,7 @@ defineIDLClass(URLSearchParamsIteratorPrototype, 'URLSearchParamsIterator', {
if (typeof recurseTimes === 'number' && recurseTimes < 0)
return ctx.stylize('[Object]', 'special');

const innerOpts = Object.assign({}, ctx);
const innerOpts = util._extend({}, ctx);
if (recurseTimes !== null) {
innerOpts.depth = recurseTimes - 1;
}
Expand Down

0 comments on commit c1cd731

Please sign in to comment.