[xmlp] the recent garbage collector performance improvements

Richard Webb webby at beardmouse.org.uk
Wed Feb 1 16:41:30 PST 2012

On 01/02/2012 19:35, dsimcha wrote:
> I'd be very
> interested if you could make a small, self-contained test program to use
> as a benchmark.

The 'test' is just

import std.xml2;

void main()
     string xmlPath = r"test.xml";

     auto document = DocumentBuilder.LoadFile(xmlPath, false, false);


It's xmlp that does all the work (and takes all the time).

I'll see about generating a simple test file, but basically:

50000 top level nodes
each one has 6 child nodes
each node has a single attribute, and the child nodes each have a short 
text value.

Parsing the file with DMD 2.057 takes ~25 seconds

Parsing the file with DMD 2.058(Git) takes ~6.1 seconds

Parsing the file with DMD 2.058, with the GC disabled during the 
LoadFile call, takes ~2.2 seconds.

For comparison, MSXML6 takes 1.6 seconds to load the same file.

More information about the Digitalmars-d mailing list