commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert burrell donkin <>
Subject Re: [Betwixt] Performance Issue
Date Tue, 30 Jan 2007 21:18:19 GMT
On Tue, 2007-01-30 at 16:48 +1030, David Lloyd wrote:
> Hi There,
> I have a set of nested classes which model a payment transaction. The 
> nesting is like this:
>   Transaction
>     - 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:
> <Transaction>
>   <OrderInformation>
>    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?


any chance of contributing some test code that you're happy to see made
public (obvious not the stuff you're working on but something similar
which exhibits the same issue)...?

(please post to a JIRA then follow up on list)

- robert

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

View raw message