ETS table with only counters

Frank Muller frank.muller.erl@REDACTED
Wed Nov 25 12:31:11 CET 2020


Thanks a lot Jesper!

I thought about using the new counter module, by I don’t know how many
counters I will have in my system. They are created dynamically

/Frank

wed 25 nov. 2020 à 11:33, Jesper Louis Andersen <
jesper.louis.andersen@REDACTED> wrote :

> On Tue, Nov 24, 2020 at 8:33 PM Frank Muller <frank.muller.erl@REDACTED>
> wrote:
>
>> Question: how should i set my table?
>> 1. both concurrency set to true:
>> 2. only read concurrency set to true:
>> 3. only write concurrency set to true:
>>
>> Please explain why?
>>
>>
> 4. Use the 'counters' module.
>
> The caveat is that your counter set is of fixed arity and you have a way
> to look up an index. If both are true, they are likely to beat ETS in a
> measurement benchmark shootout because less locks will be taken on them.
> I'd measure your results.
>
> The answer depends on your read/write patterns for solutions 1-3. And the
> CPU architecture setup, mostly in core count. It's very likely you don't
> get a full answer by thinking about how the locking structures are built in
> isolation. General rules of thumb: If mostly read, go with 2. If mostly
> written, go with 3. If you flip i.e., have a short window in which you
> mostly write and then mostly read for a while, then another write-block,
> ..., then go with 1.
>
> --
> J.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20201125/318776f4/attachment.htm>


More information about the erlang-questions mailing list