<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 28, 2016 at 2:17 AM, Michael Truog <span dir="ltr"><<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Records are preprocessing syntax (sweet syntactic sugar) for tuples
    and I am just going based on my benchmarking of tuples.  I know
    tuples are generally ok for 100 elements and less (not trying to
    encourage making large records with tons of values).</blockquote></div><br></div><div class="gmail_extra">The tipping point will vary on how many updates you are doing, the given machine architecture, and if you are looking at the added GC pressure as well in your benchmarks. Updating a tuple will copy the tuple as a whole, so if you update a single field only, this is a lot of work to do which has little value.<br><br></div><div class="gmail_extra">I often tend to use a map as a monovariant construction: all the keys have the same type and all the values have the same type. In contrast, I use records as product types: they have static finite size and every key encompasses a specific different type.<br><br></div><div class="gmail_extra">But of course, the neat thing is you can have polyvariant maps, in Erlang should you need them.<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">J.</div>
</div></div>