<div dir="ltr"><div>Yes so your suggestion to test concurrently was very good. I updated the testing script and running it on my machine with 1000 concurrent processes It's crashing the VM using erlang driver . I suspect because out of memory. My machine has only 16 GB and I see at some point 48 GB in the beam process. <br><br></div><div>Anyway before crashing all the time I see cpu consumption being 100 % maximum on beam process. <br><br></div><div>The same test using my library complete fine. also the cpu I see cpu staying at 500 % - 600 % and sometimes 700% which means it's using almost all the cores I have. Memory wise is not using more than : 12 GB<br><br></div><div>Something is strange. You can review my testing program maybe I'm wrong somewhere.<br><br></div><div>Silviu<br></div><div><br></div><div><br><br></div> </div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 9, 2016 at 1:15 PM, Caragea Silviu <span dir="ltr"><<a href="mailto:silviu.cpp@gmail.com" target="_blank">silviu.cpp@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hello Loic, <br><br></div>I didn't tested concurrently but I will do it shouldn't be very difficult to change the testing script. Even if from what I know zlib doesn't have any mutex or something to lock the access to resources inside. <br></div>Regarding inflateChunk I might add it, right now its only an interface that makes integration in the projects I'm using faster. <br><span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">Silviu <br></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 9, 2016 at 1:08 PM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 03/09/2016 11:54 AM, Caragea Silviu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some benchmark results you can see on the <a href="https://github.com/silviucpp/ezlib" rel="noreferrer" target="_blank">https://github.com/silviucpp/ezlib</a><br>
<br>
I can understand that the erlang driver api is generic and allows you to<br>
customize a lot if things and mine it's not and it's built<br>
around my need to use it with ejabberd but still I'm almost sure if I<br>
change the interface the performance difference will be the same.<br>
<br>
Maybe my benchmark is not realistic or I'm missing something.<br>
Feedback it's welcome.<br>
</blockquote>
<br></span>
I have recently come to realize the same thing as you. A few discussions I had with users pointed out that the performance of the Erlang zlib might be even worse when used concurrently. Have you done some measurements on that?<br>
<br>
Also you will probably need an inflateChunk equivalent if you are doing anything public facing. I don't think it changes much performance-wise though.<span><font color="#888888"><br>
<br>
-- <br>
Loïc Hoguin<br>
<a href="http://ninenines.eu" rel="noreferrer" target="_blank">http://ninenines.eu</a><br>
Author of The Erlanger Playbook,<br>
A book about software development using Erlang<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>