<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>