Piccolo Project Page Piccolo XML Parser for Java

Piccolo is a small, extremely fast XML parser for Java. It implements the SAX 1, SAX 2.0.1, and JAXP 1.1 (SAX parsing only) interfaces as a non-validating parser and attempts to detect all XML well-formedness errors. Piccolo was developed by Yuval Oren and is released as open source software under the terms of the Apache Software License 2.0 .

Piccolo was developed using modified versions of the parser generator tools JFlex and BYACC/J. I had used flex and byacc in C and C++ parsers, but I noticed that almost all Java XML parsers are hand-written. I developed Piccolo as an investigation of parser generator tools in Java and of high performance Java techniques. Thanks to James Clark and to the Apache project, whose parsers helped me improve my own.

If you want to build Piccolo from the source code, you will also need Apache's Ant, a tool similar to UNIX "make". More information is also available on Piccolo's SourceForge project page.

Receive announcements about Piccolo:
Downloads Documentation Benchmarks
Piccolo 1.04

Source code:
Piccolo 1.04 source
Modified JFlex 1.3.5
Modified BYACC/J 1.1
SAXBench 2.1b1


Using Piccolo

Source code documentation

My tests show Piccolo to be significantly faster than Xerces, Crimson, or other parsers. However, I encourage you to download SAXBench and try these tests yourself.

There is also a JavaWorld article in which Piccolo was the fastest parser tested.

© Copyright 2002 Yuval Oren. All rights reserved.