commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Lloyd <>
Subject [Betwixt] Performance Issue
Date Tue, 30 Jan 2007 06:18:24 GMT

Hi There,

I have a set of nested classes which model a payment transaction. The 
nesting is like this:


    - OrderInformation
      - CustomerCredentials
    - MerchantCredentials
    - PaymentInformation

They're fairly standard classes and contain nothing more complex than 
standard String and Integers (int and String).

Running the class through "Betwixt" to make XML gives me:

   etc etc you'd expect. It's not a large file; there's no attributes apart 
from the "version = '1.0'" on the <?xml ?> prolog. The file's about 30 
lines long.

The setup I am running under is this:

  Sun Java Application Server running a Java EE web service
  Paste the output of the XML above into the ?Tester application
  Wait to see what result I get

I've tested the results and if I deliberately do something silly, 
Betwixt throws an appropriate error. It's not its error handling that 
worries me.

It takes SJAS, Betwixt or my Java about 15-30 seconds to process the 
XML. Whilst I understand that Betwixt uses Java introspection and quite 
possibly does a _lot_ of XML processing, processing a simple payment 
transaction set of classes shouldn't, in my opinion, take so long.

As to the hardware I'm running this on:

  Sun Solaris Community Express (ON 54)
  Sun Java 1.5.0_08
  Intel Pentium D945 / 2Gb of RAM

  - The Global Zone can use all memory and all CPU and has at least 1/2 a
    gig of memory free at all times during the tests

  - During processing, the two cores go to minimum of 70% usage

  - CPU fans start to spin but there does appear to be minor disk usage
    when the test is going
    - this appears as swap, which in Solaris means that /tmp is
      overflowing or memory use has a very sudden spike
    - it doesn't appear to be "seriously" excessive

  - vmstat, iostat don't show anything too bizarre whilst test runs

I probably need to be more precise but does thirty seconds for Betwixt 
to parse a set of nested classes each with an avg. of 4 fields each 
sound a little excessive, given the hardware and OS I've described?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message