<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 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 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 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). </div><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 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 href="https://gist.github.com/AeroNotix/eaad66f121aaa199ca6e">https://gist.github.com/AeroNotix/eaad66f121aaa199ca6e</a></div><div><br></div></div></div></div>