| Thread overview | |||||
|---|---|---|---|---|---|
|
December 05, 2012 Getting memory size of class | ||||
|---|---|---|---|---|
| ||||
sizeof always returns 4 or 8 regardless of size of class:
class myclass(T)
{
public:
T v1;
T v2;
T v3;
T v4;
T v5;
T v6;
}
writeln((myclass!byte).sizeof, (myclass!double).sizeof);
or even
writeln((myclass!int).classinfo.init.sizeof, (myclass!double).classinfo.init.sizeof);
from
http://forum.dlang.org/thread/dp9hct$nuf$1@digitaldaemon.com
So how does one get the actual memory usage of a class?
| ||||
December 05, 2012 Re: Getting memory size of class | ||||
|---|---|---|---|---|
| ||||
Posted in reply to js.mdnq | On 2012-12-05, 20:03, js.mdnq wrote: > > sizeof always returns 4 or 8 regardless of size of class: > > class myclass(T) > { > public: > T v1; > T v2; > T v3; > T v4; > T v5; > T v6; > } > > writeln((myclass!byte).sizeof, (myclass!double).sizeof); > > or even > > writeln((myclass!int).classinfo.init.sizeof, (myclass!double).classinfo.init.sizeof); > > from > > http://forum.dlang.org/thread/dp9hct$nuf$1@digitaldaemon.com > > So how does one get the actual memory usage of a class? __traits( classInstanceSize, myclass!int ) http://dlang.org/traits.html -- Simen | |||
December 05, 2012 Re: Getting memory size of class | ||||
|---|---|---|---|---|
| ||||
Posted in reply to js.mdnq | On 12/05/2012 08:03 PM, js.mdnq wrote: > > sizeof always returns 4 or 8 regardless of size of class: > > class myclass(T) > { > public: > T v1; > T v2; > T v3; > T v4; > T v5; > T v6; > } > > writeln((myclass!byte).sizeof, (myclass!double).sizeof); > > or even > > writeln((myclass!int).classinfo.init.sizeof, > (myclass!double).classinfo.init.sizeof); > > from > > http://forum.dlang.org/thread/dp9hct$nuf$1@digitaldaemon.com > > So how does one get the actual memory usage of a class? (myclass!int).classinfo.init.length At least that is what druntime is using. -- Mike Wey | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply