Stefano Mazzocchi announced an implementation of a SAX-based XML bytecode compilation mechanism on the cocoon-dev mailing list.
This compilation takes place at a SAX level-- the SAX events are stored in a file in a bytecode format. This file can then be read and the events sent to the XML application without going through the parsing and validation processes again.
Mazzocchi gives some performances figures:
The results are very interesting: speed improvement goes from 16000% for very small files (100bytes) to 45% for big files (650Kb) over Xerces 1.2 in non-validating SAX mode.
XML compilation is quite fast (300 millis for the 33Kb file, 2500 millis for the 650Kb file) and doesn't increase the size for much (3% bigger for the 650Kb file).
The package, which isn't identified yet, is released under APL lincence:
I'm releasing it under the Cocoon APL. If interesting, I will write a description of the CXML file format and release that as well.