url: using util._extend for improving profermace

`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: https://github.com/nodejs/node/pull/16081
Refs: https://github.com/nodejs/CTC/issues/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>
This commit is contained in:
Weijia Wang 2017-10-08 10:36:28 +08:00 committed by Refael Ackermann
parent 6d9654b13d
commit c1cd731abc
No known key found for this signature in database
GPG Key ID: CD704BD80FDDDB64

View File

@ -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;
}
@ -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,
@ -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;
}