<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 30, 2017 at 4:59 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"><span class="">On 06/29/2017 06:13 PM, Richard A. O'Keefe wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 30/06/2017, at 12:23 PM, Michael Truog <<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
</blockquote>
<a href="http://erlang.org/doc/efficiency_guide/advanced.html#id68923" rel="noreferrer" target="_blank">http://erlang.org/doc/efficien<wbr>cy_guide/advanced.html#id68923</a> has the memory information and <a href="https://github.com/okeuday/erlang_term" rel="noreferrer" target="_blank">https://github.com/okeuday/erl<wbr>ang_term</a> shows how to get this size during runtime.<br>
</blockquote>
Those two disagree.  For example, erlang_term says<br>
Small Map (N =< 32):<br>
   4 words + 2 words per key/value pair + the size of each pair<br>
whereas advanced.html says<br>
Small Map<br>
   5 words + the size of all keys and values.<br>
<br>
The latter just *has* to be wrong, the former is at least believable.<br>
<br>
</blockquote></span>
The erlang_term README information is based on an older version of the Erlang Efficiency guide html docs and the newer content is different.  It is possible an error was inserted into the new html docs, but it would be best for the Erlang/OTP team to check this.<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>The latter is the correct value. The documentation for both small and large map sizes was incorrect and fixed in OTP-19.3 (I think).</div><div><br></div><div>Small map size = boxed ptr + header + size + key ptr + key header = 5 words.</div><div><br></div><div>The old incorrect version did not count the boxed ptr as part of the term size.</div></div></div></div>