Looks great!!

My 2 cents. Please consider changing link to monitor (or support it as an 
option) to avoid gen_event mistakes.
What if we don't want our process to die when registry crashes. We would have 
to trap_exits and handle EXIT but how we would know a pid of registry partition 
in our process to match on.
with monitors the process can pass a callback MFA to be called when either 
registry or the process itself dies. Something similar to gen_server's 
terminate. 

On October 25, 2016 2:06:24 PM PDT, "José Valim" 
<jose.va...@plataformatec.com.br> wrote:
>Hello everyone,
>
>I would like to propose the addition of the Registry project to Elixir:
>
>https://github.com/elixir-lang/registry
>
>The Registry project is a local and scalable key-value process storage
>in
>Elixir. It encapsulates 3 known use cases:
>
>* Process registry: to register process with dynamic names. Often
>Elixir
>developers need to rely on gproc or other tools.
>* Code dispatching: dispatch a module/function associated to a given
>key
>* PubSub implementation: send messages to local processes registered
>under
>a given topic
>
>There are probably other use cases waiting to be discovered. :)
>You can learn more in the documentation:
>
>http://elixir-lang.org/docs/registry/
>
>The project clocks only 700LOC with documentation and performs well. We
>have extracted, improved and generalized the patterns from
>Phoenix.PubSub,
>the exact implementation used to manage and publish messages to 2
>million
>subscribers
><http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections>
>.
>
>When benchmarking thousands of processes registering serially, it is
>twice
>slower than local atoms, albeit 33% faster than gproc. On concurrent
>cases,
>it distributes well across all cores, becoming only 15% slower than
>local
>atoms, and 3x faster than gproc (gproc seems to be serial on its
>default
>configurations).
>
>Please give it a try and let us know what you think.
>
>
>*José Valim*
>www.plataformatec.com.br
>Skype: jv.ptec
>Founder and Director of R&D
>
>-- 
>You received this message because you are subscribed to the Google
>Groups "elixir-lang-core" group.
>To unsubscribe from this group and stop receiving emails from it, send
>an email to elixir-lang-core+unsubscr...@googlegroups.com.
>To view this discussion on the web visit
>https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LabvDu73t19riOi217yOviEg%2BFmjgFypK-4uwxwkzMug%40mail.gmail.com.
>For more options, visit https://groups.google.com/d/optout.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/B3F56701-71CF-4872-B563-292C1AB28ADD%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to