Skip to main content

Santiago Pericas-Geertsen

Santiago holds a PhD in computer science from Boston University, where he specialized in programming languages and compilers. He has been a staff engineer at Sun/Oracle for 9 years. In his first project, he co-developed XSLTC: an XSLT to bytecode compiler now in the JDK. In the next few years his focus was on XML performance and binary XML and developed the Japex micro-benchmark framework. He participated, and was appointed editor, in a number of initiatives in this area including the W3C XML Binary Characterization WG and the W3C Efficient XML Interchange WG. Before joining the Glassfish Web Tier team at Oracle, he was tech lead for JAXP and also worked on the Glassfish Mobility Platform. Currently, he is the co-spec lead for JAX-RS 2.0 (JSR 339).


spericas's blog

JAXP 1.4 RI available in the Maven repository

Posted by spericas on June 22, 2006 at 11:45 AM PDT

The latest version of the JAXP Reference Implementation (RI), version 1.4, is currently available from the Maven repository. JAXP RI version 1.4 is part of J2SE 6.0 (a.k.a. "Mustang") and it is therefore available in the beta2 versions of the JDK and the JRE for J2SE 6.0.

Japex is now in the Maven repository

Posted by spericas on May 9, 2006 at 1:52 PM PDT

Unless you have been living under a rock, you probably heard about the Maven Repository. This is a one-stop site where you can find artifacts for lots of projects.

The Japex jars are now part of the ever-growing Maven repository.

MTOM Performance in JAX-WS

Posted by spericas on April 28, 2006 at 9:10 AM PDT

Since XML is a textual format, binary blobs must be represented as characters when embedded in an XML document. A popular encoding that permits this embedding is known as base64 encoding, and it corresponds to the XML Schema data type xsd:base64Binary.

Performance Tracking using Japex

Posted by spericas on April 14, 2006 at 9:16 AM PDT

Japex 1.0.9 now includes a new performance tracking tool. If you are a Japex user, or are planning on becoming one soon, you should check this out. The performance tracking tool can be used to send e-mail notifications for regressions (or progressions) based on a pre-defined threshold.

Sun StAX Parser at

Posted by spericas on April 6, 2006 at 6:58 AM PDT

The Sun Java Streaming XML Parser (SJSXP) FCS version 1.0 is now available in binary and source forms from This parser is an implemenation of JSR 173, submitted to the JCP by BEA.

Japex 1.0.3 available at

Posted by spericas on March 17, 2006 at 12:08 PM PST

Japex 1.0.3 is out with a number of very cool features. Since I didn't have a chance to blog about the features in version 1.0.2, I'll use this opportunity to talk about all the features that were added in the last few weeks.

Latest JAX-WS with Glassfish

Posted by spericas on March 17, 2006 at 10:13 AM PST

So you just picked up the latest release of JAX-WS from and want to try it out with Glassfish. First, you need to override the version that is bundled with Glassfish, but how do you do that and be certain that you did correctly?

Testing Scalability Using Japex

Posted by spericas on February 9, 2006 at 10:03 AM PST

As more cores and harware threads are added to the new generation of micro-processors, the ability to easily test software scalability becomes increasingly important. Depending on the type and complexity of your application, using Japex may be a quick and simple way to verify the scalability of your code.

Japex and Native Drivers

Posted by spericas on January 30, 2006 at 2:05 PM PST

Paul Sandoz and I have developed an extension to Japex to support native drivers. This allows a benchmark to compare the relative performance of a C-based XML parser vs. a Java-based XML parser, for example.

Every native driver is an instance of the class com.sun.japex.jdsl.JapexNativeDriver which defines a native method corresponding to each phase in Japex.

Benchmarking using Japex and JUnit

Posted by spericas on January 26, 2006 at 2:16 PM PST

Despite some similarities, performance testing and conformance testing are different types of activities, and certainly not every conformance test is necessarily a good performance test. There have been some attempts to using JUnit for performance testing, notably JUnitPerf.