Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: curl-multi-socket interface too slow
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Aleh Linkin via curl-library <curl-library_at_lists.haxx.se>
Date: Wed, 1 Jun 2022 15:46:27 +0300
1. easy_handles
```
SET_OPT(CURLOPT_ERRORBUFFER, m_errorBuffer);
setVerbose(true);
setUrl(url);
setTimeout(timeout);
setConnectTimeout(connectTimeout);
setProxy(proxy);
setProxyPort(proxyPort);
setHttpHeaders(httpHeaders);
SET_OPT(CURLOPT_WRITEFUNCTION, writeFunction);
SET_OPT(CURLOPT_WRITEDATA, m_requestState);
SET_OPT(CURLOPT_DEBUGFUNCTION, CurlRequest::debugFunction);
SET_OPT(CURLOPT_DEBUGDATA, this);
SET_OPT(CURLOPT_PRIVATE, this);
SET_OPT(CURLOPT_NOSIGNAL, 1L);
```
2. HTTPS. TLS based on NSS SSL backend
3. Yes. I've used perf and valgrind-cachgrind but I can't take the reason
from results. For example perf part:
```
Samples: 1K of event 'cycles:uppp', Event count (approx.): 9397031894
Children Self Command Shared Object Symbol
- 23.25% 2.43% lecappqry.1 [unknown] [.] 0000000000000000
- 21.58% 0
5.29% _int_malloc
1.42% free
1.13% Curl_http
1.07% _int_free
+ 0.88% __clock_gettime
0.72% _IO_vsnprintf
0.71% __libc_calloc
+ 5.07% 0.00% lecappqry.1 [unknown] [k]
0x0000000000667849
+ 5.07% 0.00% lecappqry.1 [unknown] [k]
0x00007f33507ad900
+ 5.07% 4.87% lecappqry.1 lecappqry_grpc [.] dprintf_formatf
+ 4.88% 4.71% lecappqry.1 libc-2.17.so [.] _int_free ```
On Mon, May 30, 2022 at 9:07 PM Patrick Schlangen <patrick_at_schlangen.me>
wrote:
> Am 30.05.2022 um 16:23 schrieb Aleh Linkin via curl-library <
> curl-library_at_lists.haxx.se>:
> >
> > I understand. Thank you.
> > But why multi_socket_action eats about twice time more CPU then
> curl_multi_perform called in cycle with 10ms pause?
>
> Can you supply some more details about how the easy handle is configured
> and the type of transfers you are running? Is it HTTP? Are you using TLS?
> Did you use perf or a similar profiler yet to see where time is spent?
>
> Thanks,
>
> Patrick
>
>
Date: Wed, 1 Jun 2022 15:46:27 +0300
1. easy_handles
```
SET_OPT(CURLOPT_ERRORBUFFER, m_errorBuffer);
setVerbose(true);
setUrl(url);
setTimeout(timeout);
setConnectTimeout(connectTimeout);
setProxy(proxy);
setProxyPort(proxyPort);
setHttpHeaders(httpHeaders);
SET_OPT(CURLOPT_WRITEFUNCTION, writeFunction);
SET_OPT(CURLOPT_WRITEDATA, m_requestState);
SET_OPT(CURLOPT_DEBUGFUNCTION, CurlRequest::debugFunction);
SET_OPT(CURLOPT_DEBUGDATA, this);
SET_OPT(CURLOPT_PRIVATE, this);
SET_OPT(CURLOPT_NOSIGNAL, 1L);
```
2. HTTPS. TLS based on NSS SSL backend
3. Yes. I've used perf and valgrind-cachgrind but I can't take the reason
from results. For example perf part:
```
Samples: 1K of event 'cycles:uppp', Event count (approx.): 9397031894
Children Self Command Shared Object Symbol
- 23.25% 2.43% lecappqry.1 [unknown] [.] 0000000000000000
- 21.58% 0
5.29% _int_malloc
1.42% free
1.13% Curl_http
1.07% _int_free
+ 0.88% __clock_gettime
0.72% _IO_vsnprintf
0.71% __libc_calloc
+ 5.07% 0.00% lecappqry.1 [unknown] [k]
0x0000000000667849
+ 5.07% 0.00% lecappqry.1 [unknown] [k]
0x00007f33507ad900
+ 5.07% 4.87% lecappqry.1 lecappqry_grpc [.] dprintf_formatf
+ 4.88% 4.71% lecappqry.1 libc-2.17.so [.] _int_free ```
On Mon, May 30, 2022 at 9:07 PM Patrick Schlangen <patrick_at_schlangen.me>
wrote:
> Am 30.05.2022 um 16:23 schrieb Aleh Linkin via curl-library <
> curl-library_at_lists.haxx.se>:
> >
> > I understand. Thank you.
> > But why multi_socket_action eats about twice time more CPU then
> curl_multi_perform called in cycle with 10ms pause?
>
> Can you supply some more details about how the easy handle is configured
> and the type of transfers you are running? Is it HTTP? Are you using TLS?
> Did you use perf or a similar profiler yet to see where time is spent?
>
> Thanks,
>
> Patrick
>
>
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.htmlReceived on 2022-06-01