A colleague was doing some performance testing and discovered some
contention at this line of my code:


...which was surprising : ) He informed me it was doing a blocking
operation every time.

Anyway, he went away and went through the Xerces source and found that
if the "org.apache.xerces.xni.parser.XMLParserConfiguration" system
property is not set it does indeed do a blocking operation (in

To demonstrate this, run the below code with and without the system
property set:

public static void main(String... args) throws Exception {

    //        "org.apache.xerces.parsers.XIncludeParserConfiguration");

    long start = System.nanoTime();

    for (int i = 0; i <= 10000; i++) {

    long end = System.nanoTime();
    double millis = (end - start) * 1e-6;



On my machine it consistently takes around ~2000ms without the system
property, and ~1300ms with.

This is present in both 2.9 and 2.11 as far as I can see.

Andrew Welch

To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-users-h...@xerces.apache.org

Reply via email to