I did this
Starting from this change: 97c0f89bd I observe slight performance improvement on slower links, but also a significant performance regression on fast links when downloading an http/3 resource.
Steps to reproduce:
-
Build curl with http/3 support from these component version:
OpenSSL: OpenSSL_1_1_1w-37-g612d8e44d6
nghttp3: v1.6.0-1-g7f40779
ngtcp2: v1.8.0-1-g8d5ab787
nghttp2: v1.63.0-15-g4202608e
curl: curl-8_10_1-146-g97c0f89bd
-
Build a second binary from the same components, but with previous curl git commit
-
Setup a http3 server and a bandwith limit using netem with the following params:
rate=1Gbit ,rtt=2ms, loss=0 , jitter=0
-
download 100MB file and measure the time
I expected the following
The download duration with older binary is approximatly 3s, but 100s with the newer one.
The faster the emulated link is the bigger regression we get. for example on 1.5GBit line the regression is 1000% !
curl/libcurl version
curl 8.10 and newer (tested with the main branch today)
operating system
Ubuntu 22.04
I did this
Starting from this change: 97c0f89bd I observe slight performance improvement on slower links, but also a significant performance regression on fast links when downloading an http/3 resource.
Steps to reproduce:
Build curl with http/3 support from these component version:
OpenSSL: OpenSSL_1_1_1w-37-g612d8e44d6
nghttp3: v1.6.0-1-g7f40779
ngtcp2: v1.8.0-1-g8d5ab787
nghttp2: v1.63.0-15-g4202608e
curl: curl-8_10_1-146-g97c0f89bd
Build a second binary from the same components, but with previous curl git commit
Setup a http3 server and a bandwith limit using netem with the following params:
rate=1Gbit ,rtt=2ms, loss=0 , jitter=0
download 100MB file and measure the time
I expected the following
The download duration with older binary is approximatly 3s, but 100s with the newer one.
The faster the emulated link is the bigger regression we get. for example on 1.5GBit line the regression is 1000% !
curl/libcurl version
curl 8.10 and newer (tested with the main branch today)
operating system
Ubuntu 22.04