On Dec 16, 2012, at 8:43 PM, Markos Zaharioudakis <[email protected]> wrote:
> The memory size of some std containers is underestimated, because the > book-keeping overhead is not taken into account. I understand we cannot be > 100% exact here, but should we try to consider some common std > implementations and measure the mem size accordingly? For example, std::map > is typically implemented as a red-black tree, which should add at least 2 > pointers (or offsets) per entry into its memory size. OK, I added sizeof(void*) * 2. On Dec 16, 2012, at 8:53 PM, Markos Zaharioudakis <[email protected]> wrote: > I think we should define Base16::alloc_size() and Base64::alloc_size() > methods. The Base16::alloc_size() method should then be used in > HexBinaryItem::alloc_size() (which is not quite correct right now). > > StructuralAnyUriItem::alloc_size() does not count theEncodedValue > > StreamableStringItem::alloc_size() does not count theStreamableDependent Fixed. On Dec 16, 2012, at 10:00 PM, Markos Zaharioudakis <[email protected]> wrote: > The function alloc_sizeof( rstring<RepType> const &s ) does not count the > book-keeping overhead for the various kinds of strings. For example, the > default rep (which is used for zstrings) adds 12 bytes oberhead (on 32-bit > machines). I changed it to: return s.capacity() + (s.is_shared() ? 0 : sizeof( RepType )); > Also, I think the null-terminating byte is not counted. The alloc_size is its capacity. The null byte is irrelevant. On Dec 17, 2012, at 2:52 AM, Markos Zaharioudakis <[email protected]> wrote: > The size of XmlTree is not counted. Right: because it's shared by all nodes in the tree. > An instance of XmlTree is shared by all nodex in the same xml tree. Maybe the > size of the XmlTree should be attribute only to the root node of the tree. The problem is infinite recursion. If I ask for the size of a tree, it's the sum of all the nodes. If the root node includes the size of the tree, then it will recurse infinitely. - Paul -- https://code.launchpad.net/~zorba-coders/zorba/feature-mem_size/+merge/114764 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : [email protected] Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp

