diff options
author | Sverker Eriksson <[email protected]> | 2016-12-20 15:59:32 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-12-20 15:59:32 +0100 |
commit | ac2de409f9379544234f3356974feb2ac15d4818 (patch) | |
tree | 06861a680e12e98882285dec427634620b944c27 /system/doc/efficiency_guide | |
parent | f0152387b96dc0c2ce5ecf7805fc435cb400356e (diff) | |
parent | 9a048a8743c3d384b5e33d6383be97dc4858126e (diff) | |
download | otp-ac2de409f9379544234f3356974feb2ac15d4818.tar.gz otp-ac2de409f9379544234f3356974feb2ac15d4818.tar.bz2 otp-ac2de409f9379544234f3356974feb2ac15d4818.zip |
Merge branch 'sverker/map-footprint-docs/OTP-14118' into maint
* sverker/map-footprint-docs:
erts: Correct memory footprint for maps
Diffstat (limited to 'system/doc/efficiency_guide')
-rw-r--r-- | system/doc/efficiency_guide/advanced.xml | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/system/doc/efficiency_guide/advanced.xml b/system/doc/efficiency_guide/advanced.xml index eee2648f34..e1760d0ded 100644 --- a/system/doc/efficiency_guide/advanced.xml +++ b/system/doc/efficiency_guide/advanced.xml @@ -87,15 +87,15 @@ </row> <row> <cell>Small Map</cell> - <cell>4 words + 2 words per entry (key and value) + the size of each key and value pair.</cell> + <cell>5 words + the size of all keys and values.</cell> </row> <row> - <cell>Large Map</cell> + <cell>Large Map (> 32 keys)</cell> <cell> - At least, 2 words + 2 x <c>N</c> words + 2 x log16(<c>N</c>) words + - the size of each key and value pair, where <c>N</c> is the number of pairs in the Map. - A large Map is represented as a tree internally where each node in the tree is a - "sparse tuple" of arity 16. + <c>N</c> x <c>F</c> words + the size of all keys and values.<br></br> + <c>N</c> is the number of keys in the Map.<br></br> + <c>F</c> is a sparsity factor that can vary between 1.6 and 1.8 + due to the probabilistic nature of the internal HAMT data structure. </cell> </row> <row> |