Re: ETS table with only counters

Frank Muller <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAFA6GnBedhaWaCzyy3EE7SQ5FvqaQPh8BgaMcV4d-kafR8N2WQ@mail.gmail.com>
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 <
[email protected]> wrote :

> On Tue, Nov 24, 2020 at 8:33 PM Frank Muller <[email protected]>
> 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.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.