XPB4J FAQ

Author: Pankaj Kumar

Last Updated: May 30, 2002, covers XPB4J-0.90


    General Questions

  1. What is XPB4J?
  2. What was your motivation in developing XPB4J?
  3. What can I do with XPB4J?
  4. How do I interprete XPB4J Measurements?
  5. Where do I find more information about XPB4J?
  6. What are the plans for future evolution of XPB4J?

  7. Running XPB4J


  1. What is XPB4J?

    XPB4J is a Java software to measure and compare performance of XML Processing programs. XPB4J considers XML operations such as parsing, transformation, validation, encryption/decryption, custom access/manipulation or any combination of these applied to one or more XML files and/or byte streams as XML processing.

    XPB4J consists of


    As of XPB4J-0.90, XPB4J includes code for a specific processing activity, called XStat Processing, to collect certain statistics on an XML file. Different implementations of this activity are provided, each to use a different parsing API such as SAX, DOM, JDOM, XmlPull, DOM4J and XSLT.



  2. What was your motivation for developing XPB4J?

    I wrote XPB4J primarily to


    When I released XPB4J-0.80 last October, I got a strong feedback to make it a open source project. Though I had never setup an open source project, the idea of having my own open source project seemed quite exciting. So I setup a project at SourceForge.net and familiarized myself with their tools. But then I got pulled into a number of different activities and XPB4J languished. It was only during the Memorial day weekend this year ( 2002 ) that I started looking at it again and resurrected it.



  3. What can I do with XPB4J?

    Depending on what are your current objectives, you can do one or more of the following:


    Any way you look at it, XPB4J is an useful tool for a Java and XML programmer.



  4. How do I interprete XPB4J Measurements?

    I have failed in my effort to create something useful if you just take the reported measurements and draw final conclusions about suitability of a particular parsing/processing API and implementation for your purpose. Application performance is determined by a complex inter-play of various factors and the objective of XPB4J is to highlight this. Use XPB4J as a starting point and hopefully, as the base for your own benchmarking exercise but do not assume that a particular API or implementation will be best for you just because the reported figures show it the best.

    The best way to interprete XPB4J measurements is to use it as a tool to understand the inter-play of various factors impacting the observed performance and refine the performance by tweaking your environment.



  5. Where do I find more information about XPB4J?

    Start at the XPB4J Home Page. This should suffice as a one stop resource center.

    If you want to download and play with it, XPB4J User Guide is a good place to start. When in doubt, look at the Ant script and the source code.



  6. What are the plans for future evolution of XPB4J?

    One thing that bothers me greatly about the current XPB4J release ( XPB4J-0.90 ) is that the framework is not rich enough to attract developers to use it for benchmarking their processing code. This certainly needs to be addressed.

    Besides this, I would like XPB4J to evolve in areas such as: