Skip to content

Commit 6e247e8

Browse files
committed
http: improve performance caused by primordials
Refs: nodejs#29766 This works on destructuring primordials whithin libs/_http_agent
1 parent cc6f99d commit 6e247e8

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

lib/_http_agent.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@
2121

2222
'use strict';
2323

24-
const { Object } = primordials;
24+
const {
25+
Object: {
26+
setPrototypeOf: ObjectSetPrototypeOf,
27+
keys: ObjectKeys
28+
}
29+
} = primordials;
2530

2631
const net = require('net');
2732
const EventEmitter = require('events');
@@ -125,8 +130,8 @@ function Agent(options) {
125130
}
126131
});
127132
}
128-
Object.setPrototypeOf(Agent.prototype, EventEmitter.prototype);
129-
Object.setPrototypeOf(Agent, EventEmitter);
133+
ObjectSetPrototypeOf(Agent.prototype, EventEmitter.prototype);
134+
ObjectSetPrototypeOf(Agent, EventEmitter);
130135

131136
Agent.defaultMaxSockets = Infinity;
132137

@@ -357,7 +362,7 @@ Agent.prototype.destroy = function destroy() {
357362
const sets = [this.freeSockets, this.sockets];
358363
for (let s = 0; s < sets.length; s++) {
359364
const set = sets[s];
360-
const keys = Object.keys(set);
365+
const keys = ObjectKeys(set);
361366
for (let v = 0; v < keys.length; v++) {
362367
const setName = set[keys[v]];
363368
for (let n = 0; n < setName.length; n++) {

0 commit comments

Comments
 (0)