gproc
gproc copied to clipboard
gproc_ext, first commit
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.
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.