[erlang-questions] Most performant way to store/search a bag

dmitry kolesnikov dmkolesnikov@REDACTED
Thu May 3 07:38:55 CEST 2012


Hi,

In your test script select does a full table scan, emulates foldl. But
your use-case is foldl through subset. Should you measure performance
of that case?

Best Regards,
Dmitry >-|-|-*>


On 3.5.2012, at 7.57, Ulf Wiger <ulf@REDACTED> wrote:

> 3 maj 2012 kl. 05:35 skrev AD <straightflush@REDACTED>:
>
>> gproc seems to use an ordered_set ETS table and then an ets:select() to match against the keys it needs.  I did some basic tests with a 5 million row ETS ordered set table and ets:foldl still seems to come out faster.
>
>
> The key to good select() performance in an ordered_set table is to ensure that the first part of the key pattern is bound. In your test, the key pattern was a free variable, forcing the match spec evaluator to test every single record in the table.
>
> Gproc strives to do 'bounded selects' as much as possible.
>
> BR,
> Ulf W
>
> Ulf Wiger, Feuerlabs, Inc.
> http://www.feuerlabs.com



More information about the erlang-questions mailing list