<div dir="ltr">I load tested with a vm (so the numbers are not relevant but the ratios). Oliver's fork spawns as many bcrypt_port (as a pool of ports) as many schedulers we have. Makes sense. The chef/erlang-bcrypt can spawn as many as we want (pool_size config key).<div><br></div><div>I used round = 12, which took 42,000-60,000ms if we spawned 100 of workers on a single core (ok, bad idea, but load testing is such).</div><div>With round = 4, it took 400-2100ms (median is 700ms) with the same number of workers.</div><div><br></div><div>@Sverker: 1 password from shell took 5ms to hash.</div><div><br></div><div>If I have time and possibility I embed bcrypt library into basho bench, and load test bcrypt that way. Because right now I load test it via cowboy rest api. So with round 4 we can say that other components will be the bottleneck, not the bcrypt.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 31, 2016 at 10:56 AM, Sverker Eriksson <span dir="ltr"><<a href="mailto:sverker.eriksson@ericsson.com" target="_blank">sverker.eriksson@ericsson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    How heavy duty is this bcrypt?<br>
    Does it take milliseconds to hash one little password?<span class="HOEnZb"><font color="#888888"><br>
    <br>
    /Sverker</font></span><span class=""><br>
    <br>
    <br>
    <div>On 05/30/2016 04:38 PM, Richard Jonas
      wrote:<br>
    </div>
    </span><blockquote type="cite"><span class="">
      <pre>Hey guys,

we are implementing user registration and password checking functionality
and using bcrypt for password hashing. During registration and also during
login we need to compute the hashes of the passwords. The problem is that
bcrypt is serializing requests even when I choose nif or port mechanism.

<a href="https://github.com/chef/erlang-bcrypt" target="_blank">https://github.com/chef/erlang-bcrypt</a>

With nif a message queue is instantly built when multiple users log in
(compute hashes for match password). With a pool size+port implementation,
the message queue building has just deferred a bit.

Is there any alternative to creating bcrypt-like hashes? For me it seems
that this library cannot be scaled well. Or have I missed something?

</pre>
      <br>
      <fieldset></fieldset>
      <br>
      </span><span class=""><pre>_______________________________________________
erlang-questions mailing list
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
    </span></blockquote>
    <br>
  </div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Richard Jonas</div><div>Erlang Solutions Hungary Kft</div><div><br></div><div>Address:</div><div>  Riverpark Office K.32</div><div>  Közraktár street 32. 3/1.</div><div>  1093 Budapest</div><div>  Hungary</div><div>Phone/fax:</div><div>  +36-1-7000-654</div></div></div>
</div>