[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