Re: ETS table with only counters

Eric Pailleau <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <[email protected]>
Hi, 
What I understand is that atomicity will serialize any call to this function. If you have only calls to this function, I'm not sure locking scheme will have an impact. 
OTP team may give more clues on this. 
But if you want to be sure, benchmark? 
I'm curious with the results. 

Envoyé depuis mon mobile 

---- Frank Muller a écrit ----

>Hi Eric,
>
>Do you mean that “read_concurrency | write_concurrency” options don’t
>matter in my case ?
>
>My original question was how to set them for best performances.
>
>/Frank
>
>24 nov. 2020 22:21, Eric Pailleau <[email protected]> wrote :
>
>> Hi,
>>
>> Documentation says that operation is guaranteed to be atomic and isolated
>> <https://erlang.org/doc/man/ets.html#concurrency>.
>>
>> Envoyé depuis mon mobile
>>
>>
>> ---- Frank Muller a écrit ----
>>
>> Hi guys,
>>
>> I've a ETS (type of "set") which contains ONLY counters
>> (ets:update_counter/3).
>>
>> This table is heavily used and the counters get incremented and
>> decremented at different rates.
>>
>> Question: how should i set my table?
>> 1. both concurrency set to true:
>>     [ set
>>     , {read_concurrency, true}
>>     , {write_concurrency, true} ].
>>
>> 2. only read concurrency set to true:
>>     [ set
>>     , {read_concurrency, true}
>>     , {write_concurrency, false} ].
>>
>> 3. only write concurrency set to true:
>>     [ set
>>     , {read_concurrency, false}
>>     , {write_concurrency, true} ].
>>
>> Please explain why?
>>
>> /Frank
>>
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.