<div dir="ltr">Yeah, that's because {processes, schedulers} limits the number of processes to the number of schedulers as an optimization.  Like all optimization, tread carefully and know the implications before reaching for that first.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 10, 2016 at 11:33 AM, 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 Felix,<br><br></div><div>The repo is : <span style="color:rgb(128,128,128);font-style:italic"><a href="https://github.com/silviucpp/plists.git" target="_blank">https://github.com/silviucpp/plists.git</a></span></div><div><br></div>I've tested your code and it's much slower than plists. In fact I discovered that using {processes, schedulers} in plists speedup this a lot and outperform everything. <br><br><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"Menlo";font-size:9pt"><span class=""><span style="background-color:rgb(228,228,255)">tt</span>(<span style="color:rgb(102,14,122)">X</span>)-><br>    <span style="color:rgb(102,14,122)">Fun </span>= <span style="color:rgb(0,0,128);font-weight:bold">fun</span>(<span style="color:rgb(102,14,122)">_X</span>) -><br>        ok<br>          <span style="color:rgb(0,0,128);font-weight:bold">end</span>,<br><br>    <span style="color:rgb(102,14,122)">List </span>= lists:seq(<span style="color:rgb(0,0,255)">1</span>, <span style="color:rgb(102,14,122)">X</span>),<br></span>    timer:tc(<span style="color:rgb(0,0,128);font-weight:bold">fun</span>()-> plists:foreach(<span style="color:rgb(102,14,122)">Fun</span>, <span style="color:rgb(102,14,122)">List</span>, {processes, schedulers}) <span style="color:rgb(0,0,128);font-weight:bold">end</span>)<span style="color:rgb(0,0,128);font-weight:bold">.<br></span><span style="color:rgb(0,0,128);font-weight:bold"><br></span>tt2(<span style="color:rgb(102,14,122)">X</span>) -><br>    timer:tc(<span style="color:rgb(0,0,128);font-weight:bold">fun</span>()-> lotsa:run(<span style="color:rgb(0,0,128);font-weight:bold">fun </span>lotsa:sample_fun/<span style="color:rgb(0,0,255)">1</span>, <span style="color:rgb(102,14,122)">X</span>) <span style="color:rgb(0,0,128);font-weight:bold">end</span>)<span style="color:rgb(0,0,128);font-weight:bold">.</span></pre><br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)1> load_test:tt2(130000).<br>{15197488,done}<br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)2> load_test:tt2(130000).<br>{15784610,done}<br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)3> load_test:tt2(130000).<br>{17058412,done}<br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)4> load_test:tt(130000).<br>{13020,ok}<br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)5> load_test:tt(130000).<br>{10628,ok}<br>(<a href="mailto:loadtest@172.17.36.53" target="_blank">loadtest@172.17.36.53</a>)6> load_test:tt(130000).<br>{9918,ok}<br><br></div>If {processes, schedulers}is not used performance are like in your code.<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888">Silviu<br><div><div><br></div></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 10, 2016 at 8:13 PM, Felix Gallo <span dir="ltr"><<a href="mailto:felixgallo@gmail.com" target="_blank">felixgallo@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">not sure which plist you're using, but the one that I could find looked not entirely erlang-idiomatic; it tried to manage the process scheduling itself, perhaps as a test implementation of the way that other languages might do it.<div><br></div><div>Here's how I might tackle that problem in pure erlang.</div><div><br></div><div><a href="https://gist.github.com/anonymous/94ace7cd94fd5930f3e4" target="_blank">https://gist.github.com/anonymous/94ace7cd94fd5930f3e4</a><span><font color="#888888"><br></font></span></div><span><font color="#888888"><div><br></div><div>F.</div></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Mar 10, 2016 at 8:45 AM, Caragea Silviu <span dir="ltr"><<a href="mailto:silviu.cpp@gmail.com" target="_blank">silviu.cpp@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div>No ,<br><br></div>I have a function:<br><br><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"Menlo";font-size:9pt"><span style="background-color:rgb(228,228,255)">tt</span>(<span style="color:rgb(102,14,122)">X</span>)-><span><br>    <span style="color:rgb(102,14,122)">Fun </span>= <span style="color:rgb(0,0,128);font-weight:bold">fun</span>(<span style="color:rgb(102,14,122)">_X</span>) -><br>        ok<br>          <span style="color:rgb(0,0,128);font-weight:bold">end</span>,<br><br></span>    <span style="color:rgb(102,14,122)">List </span>= lists:seq(<span style="color:rgb(0,0,255)">1</span>, <span style="color:rgb(102,14,122)">X</span>),<br>    plists:foreach(<span style="color:rgb(102,14,122)">Fun</span>, <span style="color:rgb(102,14,122)">List</span>)<span style="color:rgb(0,0,128);font-weight:bold">.<br><br></span></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"Menlo";font-size:9pt"><span style="color:rgb(0,0,128);font-weight:bold">and I'm calling this one : module:tt(130000).<span><font color="#888888"><br><br></font></span></span></pre><span><font color="#888888"><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"Menlo";font-size:9pt"><span style="color:rgb(0,0,128);font-weight:bold">Silviu<br></span></pre><br></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 10, 2016 at 6:43 PM, Boroska András <span dir="ltr"><<a href="mailto:andras.boroska@gmail.com" target="_blank">andras.boroska@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">Do you run this in the interactive shell? In that case put it in a module and compile it.<div><br></div><div>Measuring anything in the shell is not relevant.</div><div><br></div><div>Andras</div></div>
</blockquote></div><br></div>
</div></div><br></div></div><span>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>