start = opts.timing ? new Date() : null;
XMLQueryCompiler compiler = new XMLQueryCompiler(listener, getNodeList(), opts.frameSize,
opts.availableProcessors, opts.joinHashSize);
resultSetId = createResultSetId();
CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
resultSetId, null);
compiler.compile(query, new StringReader(qStr), ccb, opts.optimizationLevel);
// if -timing argument passed, show the starting and ending times
if (opts.timing) {
end = new Date();