bump hackney to 1.0.0
hackney 1.0.0 has been released.
@benoitc A question, I see that ibrowse optimized perfomed fast 1.7x better as hackney in speed. Is there some optimisation on hackney, which can be done to have close performance to ibrowse??
@liveforeverx mmm? Last time I checked ibrowse was still slower. When did the change happened?
About optimisations definitely. In coming version the new pool won't be blocking anymore and the connection manager will be slightly improved. There are trade-offs though between performance and the stability features included (connections supervision, no message passing, default parser in plain erlang, ...) in hackney though . The second will always have the priority. But with performance in mind.
@benoitc https://github.com/talko/httpcbench#results check results, ibrowse_opt (not a default ibrowse) is 1,7 quicker as hackney, the same we see in our test setups. We try to experiment with different pools in hackney size, at the moment, it doesn't change much.
This options make it quicker for ibrowse in this test setup: https://github.com/talko/httpcbench/blob/master/src/httpcbench_client.erl#L145-L146
Seems, like that default ibrowse is simple unoptimised(what I've in our using of ibrowse too) or there should be tuning options for hackney to improve performance for test setups.
Changes are happen in August last year:
commit 90f1c88634fac6c30d054a44035a5a8b6a43f70b
Author: Ransom Richardson <[email protected]>
Date: Tue Aug 26 19:03:01 2014 +0000
Add ibrowse_opt and update results
Testing with ibrowse_opt always return me an error after somme connections on 17.5.6 where all other client work. Anyway since the pool size of ibrowse is set to 300, maybe it should be the same with hackney by creating a custom pool (default is 50).
Note however that currently when the max of connections is achieved hackney will wait for one released, where ibrowse will juste create a new connection. This not true in the coming version. Also hackney should be defintely updated to 1.2.O.