[fpc-pascal] instance memory usage
M.Santhoff at web.de
Thu Oct 25 00:52:19 CEST 2018
On Wed, 2018-10-24 at 22:06 +0200, Sven Barth via fpc-pascal wrote:
> Am 20.10.2018 um 20:09 schrieb Marc Santhoff:
> > Hi,
> > from testing a while ago I remember the following:
> > The memory used by a class instance is composed of
> > 1. the size ".instanceSize()" gives back
> > 2. the memory used by other variables and maybe class instances referenced
> > by pointers and owned by the instance in question
> > 3. strings are (to be) included in 2., string types are in fact references
> > aka
> > pointers
> > The second clause is sort of "by definition", but I do define like that in
> > this case.
> > Is that listing correct and complete?
> The size InstanceSize() returns is the pointer to the VMT plus the size
> of any field in the class or any of its parent classes as if it would be
> a record (keep in mind that class references are merely pointers, so a
> class having another as a field is merely a pointer, not its
> InstanceSize(), the same is true for e.g. Ansi-/UnicodeString).
OK, so my list is correct in general. The only thing missing would be the
code, but what I need to count is the data size when having lots of instance.
Marc Santhoff <M.Santhoff at web.de>
More information about the fpc-pascal