Skip to content

http2: keep reading during small client writes#63009

Open
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:http2-perf
Open

http2: keep reading during small client writes#63009
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:http2-perf

Conversation

@mcollina

Copy link
Copy Markdown
Member

Fixes: #54874

Signed-off-by: Matteo Collina <hello@matteocollina.com>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/http2
  • @nodejs/net
  • @nodejs/performance

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. http2 Issues or PRs related to the http2 subsystem. needs-ci PRs that need a full CI run. labels Apr 28, 2026
@codecov

codecov Bot commented Apr 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 89.64%. Comparing base (58a8e1d) to head (4dd0542).
⚠️ Report is 147 commits behind head on main.

Files with missing lines Patch % Lines
src/node_http2.cc 90.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #63009      +/-   ##
==========================================
- Coverage   89.69%   89.64%   -0.05%     
==========================================
  Files         706      708       +2     
  Lines      218222   220331    +2109     
  Branches    41768    42262     +494     
==========================================
+ Hits       195731   197520    +1789     
- Misses      14411    14657     +246     
- Partials     8080     8154      +74     
Files with missing lines Coverage Δ
src/node_http2.h 91.61% <ø> (ø)
src/node_http2.cc 82.12% <90.00%> (+0.02%) ⬆️

... and 88 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pimterry

Copy link
Copy Markdown
Member

@mcollina I've checked out the branch and the benchmark added here doesn't seem to show any real difference for me with this change. What results are you seeing? Is it that script, or some other benchmark?

@mcollina

Copy link
Copy Markdown
Member Author

That's the point. I added the bench to verify this did not add a regression.

@pimterry

Copy link
Copy Markdown
Member

This is supposed to be a performance improvement, right? The original issue is about downloads being slower under HTTP/2 than HTTP/1, I assumed the benchmark added was aiming to show that this really fixed the issue. If the one here is just guarding against regressions, can we add another here to test that this fix actually improves things to match HTTP/1?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. http2 Issues or PRs related to the http2 subsystem. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HTTP2 download of parallel requests is slower than HTTP1.1

3 participants