MCPcopy Index your code
hub / github.com/nodejs/node / main

Function main

benchmark/http/bench-parser.js:12–53  ·  view source on GitHub ↗
({ len, n })

Source from the content-addressed store, hash-verified

10});
11
12function main({ len, n }) {
13 const { HTTPParser } = common.binding('http_parser');
14 const REQUEST = HTTPParser.REQUEST;
15 const kOnHeaders = HTTPParser.kOnHeaders | 0;
16 const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
17 const kOnBody = HTTPParser.kOnBody | 0;
18 const kOnMessageComplete = HTTPParser.kOnMessageComplete | 0;
19
20 function processHeader(header, n) {
21 const parser = newParser(REQUEST);
22
23 bench.start();
24 for (let i = 0; i < n; i++) {
25 parser.execute(header, 0, header.length);
26 parser.initialize(REQUEST, {});
27 }
28 bench.end(n);
29 }
30
31 function newParser(type) {
32 const parser = new HTTPParser();
33 parser.initialize(type, {});
34
35 parser.headers = [];
36
37 parser[kOnHeaders] = function() { };
38 parser[kOnHeadersComplete] = function() { };
39 parser[kOnBody] = function() { };
40 parser[kOnMessageComplete] = function() { };
41
42 return parser;
43 }
44
45 let header = `GET /hello HTTP/1.1\r\nContent-Type: text/plain\r\n`;
46
47 for (let i = 0; i < len; i++) {
48 header += `X-Filler${i}: ${Math.random().toString(36).substring(2)}\r\n`;
49 }
50 header += '\r\n';
51
52 processHeader(Buffer.from(header), n);
53}

Callers

nothing calls this directly

Calls 4

randomMethod · 0.80
processHeaderFunction · 0.70
toStringMethod · 0.45
fromMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…