Justin Johansson wrote:
grauzone Wrote:

Justin Johansson wrote:
How does one determine the sizeof (in bytes) of an instance of a class in D?

.sizeof works as advertised for structs, but for reference types,
.sizeof yields the sizeof the referencing variable (effectively same as size of 
a pointer)
and not the size of the underlying instance.
As Jarrett said, x.classinfo.init.length is the simplest way in D1.

I did try scanning the NG and read spec_D1.00.pdf.  Perhaps I missed it in the 
latter.
I guess that PDF is horribly outdated, although it may work for some purposes.

btw. I was poking under the hood of std.xml and though, wow, instances of 
Element
class look humongous, and so I'm interested to how exactly how humongous.
Wasn't std.xml for D2? Anyway, last what I remember is that std.xml is unmaintained, slow, buggy, and shouldn't be seriously used.

Yes and yes.  I'm currently using D1 but with view to D2 am having a peek at 
it's libs.

I can see why std.xml in D2 is slow, and would not be surprised if buggy as 
well;  it is quite disgusting code that's been hacked together without any real 
rhyme or reason.  So guess I'll be writing my own stuff
and leveraging on C libs where possible.  Got Expat parser running with D 
without too much trouble.

In case you didn't know, Tango's XML parser is said to be even faster than other commonly used XML parsers in C/Java: http://dotnot.org/blog/archives/2008/03/10/xml-benchmarks-updated-graphs-with-rapidxml/

Also: http://prowiki.org/wiki4d/wiki.cgi?AllLibraries/XmlLibraries

Thanks for comment grauzone.

-- Justin Johansson

Reply via email to