Replies: 1 comment
-
Not today, no this is not possible. It would require some non-trivial refactoring to support this. While we do now in fact use IOCP on Windows (via wepoll) and generally our I/O driver solution is much better than 3 years ago, most of that comment still holds true. In order to host multiple agents, we'd have to introduce synchronization of state between handles using the libcurl share API, otherwise configuration would behave very inconsistently between requests depending on which thread was responsible for executing it. This is not a trivial undertaking, and I don't think I'd be willing to accept the maintenance burden of supporting both architectures. Either we do the refactoring and everyone gets the change, or we don't.
I want to be very careful how this is characterized. The only thing right now that could be better is when handling CPU-bound work on requests running concurrently. That said, unless you are sending requests to another server in the same network over a very fast connection, most requests are I/O bound and not CPU bound anyway, and parallelizing the CPU portion would not yield much savings. |
Beta Was this translation helpful? Give feedback.
-
Hi, Is it possible to start multiple agents on different threads for the same HTTP client? So that we can fully use the modern multi-core CPU.
I have read #78 (comment). The point to me is we can leave this decision to end-users.
Beta Was this translation helpful? Give feedback.
All reactions