<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 03/06/2016 04:24 AM, Roberto
Ostinelli wrote:<br>
</div>
<blockquote
cite="mid:CAM5fRyojUhp_h=oQrKQ8O_rbvAR4pgRgPJLR=82Uh1QZazUSPg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Sun, Mar 6, 2016 at 12:54 PM, Loïc
Hoguin <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Cheers!<br>
<br>
What would you say would be the advantages of Syn over
Gproc?<br>
<br>
And for process groups over cpg?</blockquote>
<div><br>
</div>
<div>Hello Loïc!</div>
<div>I wrote an article with comparisons between global,
pg2, gproc and cpg which led me to write Syn here:</div>
<div><a moz-do-not-send="true"
href="http://www.ostinelli.net/an-evaluation-of-erlang-global-process-registries-meet-syn/">http://www.ostinelli.net/an-evaluation-of-erlang-global-process-registries-meet-syn/</a><br>
</div>
<div><br>
</div>
<div>TL;DR</div>
<div><br>
</div>
<div>Gproc is great! However, to my understanding it's main
purpose is not to be distributed. I found instabilities
when dealing with Gproc in a distributed environment,
possibly because the distributed part is based on
gen_leader. The README in Gproc’s Github page clearly
depicts it as being an “Extended process dictionary”; it
just felt that the distributed part hasn’t been the
primary focus in the development of this library.</div>
<div><br>
</div>
<div>Ulf has said he wanted to use locks_leader, but the
branch is still frozen to some years ago:</div>
<div><a moz-do-not-send="true"
href="http://erlang.org/pipermail/erlang-questions/2015-February/083176.html">http://erlang.org/pipermail/erlang-questions/2015-February/083176.html</a><br>
</div>
<div><br>
</div>
<div>I fear this will take us down the rabbit hole, but here
it goes for CPG: I've seen it first hand and I've had
reports [1] that it might reach bottlenecks when using a
single scope. The author acknowledges and recommends using
multiple scopes, however even if I understand them, I
don’t care about using them (I feel I shouldn't be dealing
with extra complications to circumvent lib limitations). <br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
The other thing you can do with CPG is use cached process lookup
data, which avoids contention for the single scope process, with the
cpg_data module. That is equivalent to a lazy destination refresh
method (in CloudI) which can provide more scalability
<a class="moz-txt-link-freetext" href="https://github.com/CloudI/CloudI/blob/develop/src/tests/request_rate/results/results_v1_5_1/results.txt#L24-L43">https://github.com/CloudI/CloudI/blob/develop/src/tests/request_rate/results/results_v1_5_1/results.txt#L24-L43</a>
.<br>
<br>
<blockquote
cite="mid:CAM5fRyojUhp_h=oQrKQ8O_rbvAR4pgRgPJLR=82Uh1QZazUSPg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>Hope this clears up :)</div>
<div><br>
</div>
<div>Best,</div>
<div>r.</div>
<div><br>
</div>
<div>[1] For instance:</div>
<div> <a moz-do-not-send="true"
href="http://erlang.org/pipermail/erlang-questions/2015-February/083196.html">http://erlang.org/pipermail/erlang-questions/2015-February/083196.html</a></div>
<div> <a moz-do-not-send="true"
href="https://gist.github.com/AeroNotix/eaad66f121aaa199ca6e">https://gist.github.com/AeroNotix/eaad66f121aaa199ca6e</a></div>
<div><br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</blockquote>
<br>
</body>
</html>