// Query: xmlBlaster/key/AGENT[@id=\"192.168.124.10\"] xmlBlaster/key/AGENT/DRIVER[@id=\"FileProof\"] xmlBlaster/key[@oid=\"2\"]
// Time 1: For 7 <key> blocks on 266 MHz AMD Linux, JDK 1.2
// Time 2: For 600 <key> blocks on 266 MHz AMD Linux, JDK 1.2
StopWatch inputTime = new StopWatch();
InputSource input = new InputSource(createURL(argv[0])); // [ 20 millis ]
System.out.println("Read file" + inputTime.nice());
StopWatch xmlprocTime = new StopWatch();
XMLProcessorImpl xmlproc = new SunXMLProcessorImpl(); // [ 75 millis ] [ 60 millis ]
System.out.println("Instantiate SunXMLProcessorImpl" + xmlprocTime.nice());
{
StopWatch docTime = new StopWatch();
doc = xmlproc.load(input);
System.out.println("Create DOM - Document" + docTime.nice()); // [ 1 sec 608 millis ] [ 3 sec 69 millis ]
StopWatch mgrTime = new StopWatch();
query_mgr = new DomQueryMgr(doc);
System.out.println("Instantiate DomQueryMgr" + mgrTime.nice()); // [ 240 millis ] [ 204 millis ]
if (argv.length > 1) {
StopWatch queryTime = new StopWatch();
iter = query_mgr.getNodesByXPath(doc, argv[1]); // [ 2 sec 630 millis ] [ 2 sec 516 millis ]
System.out.println("Query time" + queryTime.nice());
num_nodes = getNumNodes(iter, dumpIt);
System.out.println(num_nodes + " nodes matches for XPath " + "\"" + argv[1] + "\"");
}
if (dumpIt) {
StopWatch queryTime = new StopWatch();
iter = query_mgr.getNodesByXPath(doc, argv[1]);
System.out.println("Query a second time encreases performance to" + queryTime.nice());
System.exit(0);
}
if (argv.length > 2) {
StopWatch queryTime2 = new StopWatch();
iter = query_mgr.getNodesByXPath(doc, argv[2]); // [ 2 millis ] [ 2 millis ]
System.out.println("Query time" + queryTime2.nice());
num_nodes = getNumNodes(iter, dumpIt);
System.out.println(num_nodes + " nodes matches for XPath " + "\"" + argv[2] + "\"");
}
if (argv.length > 3) {
StopWatch queryTime2 = new StopWatch();
iter = query_mgr.getNodesByXPath(doc, argv[3]); // [ 1 millis ] [ 1 millis ]
System.out.println("Query time" + queryTime2.nice());
num_nodes = getNumNodes(iter, dumpIt);
System.out.println(num_nodes + " nodes matches for XPath " + "\"" + argv[3] + "\"");
}
}
{
StopWatch docTime = new StopWatch();
doc = xmlproc.load(input);
System.out.println("Create DOM - Document" + docTime.nice()); // [ 28 millis ] [ 1 sec 487 millis ]
StopWatch mgrTime = new StopWatch();
query_mgr = new DomQueryMgr(doc);
System.out.println("Instantiate DomQueryMgr" + mgrTime.nice()); // [ 1 millis ] [ 1 millis ]
if (argv.length > 1) {
StopWatch queryTime = new StopWatch();
iter = query_mgr.getNodesByXPath(doc, argv[1]); // [ 1 millis ] [ 1 millis ]
System.out.println("Query time" + queryTime.nice());
num_nodes = getNumNodes(iter, dumpIt);
System.out.println(num_nodes + " nodes matches for XPath " + "\"" + argv[1] + "\"");
}
}