Repository navigation
http2: speed up response getHeaders - #66592
nodejs-github-bot merged 1 commit into
Conversation
Copy validated header names directly into the shallow result instead of using ObjectAssign on the internal null-prototype map. Signed-off-by: Roberto Bianchi <roberto.bianchi@spendesk.com>
|
Review requested:
|
|
Welcome to Node.js, and thank you for your first contribution! Before review, please take a moment to read:
Please make sure every commit is signed off. For a first pull request, GitHub Actions require collaborator approval and Jenkins CI must be started by a collaborator or triager, so an initial wait is normal. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #66592 +/- ##
==========================================
+ Coverage 90.44% 90.45% +0.01%
==========================================
Files 791 791
Lines 276486 276568 +82
Branches 53092 53117 +25
==========================================
+ Hits 250060 250169 +109
+ Misses 16846 16802 -44
- Partials 9580 9597 +17
🚀 New features to boost your workflow:
|
|
Benchmark GHA (http2 / get-headers.js): https://github.com/nodejs/node/actions/runs/38037263644 Results
Benchmark results:
|
|
Landed in b823c3a |
Replace
ObjectAssigninHttp2ServerResponse.getHeaders()with an explicitkey-copy loop, preserving the null-prototype shallow copy. Add a benchmark
and compatibility coverage.
On Apple M2 / macOS, compared against
4fa5145:
30 samples per binary and configuration, with 1,000,000 calls per sample.
These results measure
getHeaders()throughput, not HTTP request throughput.