uwiger / gproc

Extended process registry for Erlang
Apache License 2.0
1.07k stars 232 forks source link

gproc_ext, first commit #129

Open uwiger opened 7 years ago

uwiger commented 7 years ago

Still work in progress, but test suite passes.

Introduce a metadata map and a configurable callback module (default: gproc_ext), which can define additional gproc registry types. The custom types must be variants of the default types (p, n, c, a, r, rc). The gproc_ext.erl module adds the types rw and rcw (resource counters with wildcard support).

TODO: benchmark different operations to check whether the changes incur noticable overhead.

uwiger commented 7 years ago

First benchmarks indicate that the changes incur an overhead of a few percent, up to almost 25% for update_counter(). While the extra cost seems acceptable for custom types, some special-casing of the legacy types will be needed.