Thanks for this awesome library. I had a long struggle with it though.
I’m coding a http scanner that is doing as many rps as possible to a lot of different domains. Unfortunately I experienced a constantly decreasing performance for long running scans. After weeks of debugging and refactoring my code I finally discovered a profiler and found the solution:
I had to use the dummy cookie jar. This simple thing is increasing the rps by a factor >10.
I guess a more experienced programmer would have found that solution a lot faster, but for noobs like me I’d propose to mention that in the docs or even better deactivate the cookie jar by default and instead opt-in. It makes much more sense to me to opt-in because if I need that functionality I would search the docs about it.
PS: Another problem were streams or big files. They are causing memory overflows. I’m using the StreamReader now but maybe for better usability one could add a max bytes argument to the ClientResponse.read function.