Daniel,
I don't thing performance come from protocols. HTTPd servers caching
mechanism should be more or less equivalent in both sync and async
client mode. Especially for example.com that serve only one page.
Nevertheless I agree with you performance difference remains
inexplicably big, but
On Wed, 10 Feb 2021, Fulup Ar Foll via curl-library wrote:
- big request (13MB) async mode is 6.5 faster (8s vs 53s)
- small request (1KB) async mode is 30 time faster (0.62s vs 19.8s)
Doesn't this just say that doing 50 transfers in parallel to the same (HTTP/2
?) server is faster than doing
Jame,
Added a test command and fixed big request issue.
https://github.com/fulup-bzh/libcurl-mainloop
For 50 http-get
- big request (13MB) async mode is 6.5 faster (8s vs 53s)
- small request (1KB) async mode is 30 time faster (0.62s vs 19.8s)
Test done on my laptop with a 1Gb Internet connec
Jame,
In // you start all requests in // as a
result it is much faster.
50 request on http://example.com
- synchronous 8.51s
- asynchronous 0.19s
The test is very simple to do.
- asynchronous ./build/curl-ht
On Tue, Feb 9, 2021 at 12:56 PM Fulup Ar Foll via curl-library <
curl-library@cool.haxx.se> wrote:
> Hi,
>
> I posted on github a template for libcurl asynchronous usage with
> libuv+libsystemd mainloop abstraction:
> https://github.com/fulup-bzh/libcurl-mainloop .
>
> While I spend in significant