users@jaxb.java.net

Re: JAXB 2.0 latest snapshot performance

From: JAXB User <jaxbuser_at_yahoo.com>
Date: Thu, 29 Sep 2005 12:31:16 -0700 (PDT)

Kirill,
 
The XMLBeans functions you mentioned are not part of a one-time marshalling cost, they are part of the creation of the object hierarchy, which as you explained before, is not counted in the marshalling benchmark. I believe all the one-time marshalling cost is captured under the org.apache.xmlbeans.XmlObject.save call, since the first run takes quite a bit more memory than each subsequent iteration.
 
It would be interesting to measure creation performance as a separate benchmark, but I'm sure there's no shortage of other stuff to keep you busy! :-)
 
Regards,
 
    Giac

Kirill Grouchnikov <kirillcool_at_yahoo.com> wrote:
Giac,

Thanks for the suggestions. I'll test the XMLBeans on it.
However, it seems that you have missed the one-time cost of
initializing the XMLBeans. In
org.jvnet.bindmark.benchmark.marshal.MarshalerThread.run go
to
org.jvnet.bindmark.benchmark.test.XmlBeansTest.createHierarchy
and to
org.jvnet.bindmark.gen.xmlbeans.OrganizationDocument$Factory.newInstance.

You'll see the constructor of XmlBeans object which takes
additional 3.190KB and 25.570 objects.

I'll update the reports over the weekend
Kirill

--- JAXB User wrote:

> Kirill,
>
> The numbers I get using your method outlined below are
> actually still quite a bit different. So far I've
> benchmarked Sun's JAXB 2.0 reference implementation (from
> 9/19/05) and XMLBeans (v2), several times with the same
> results. One important change I made in the XMLBeans
> test is how marshalling is performed. Instead of
> creating a string out of the XML being marshalled and
> then serializing it, I use the save method on their base
> object like this:
>
> ((XmlObject)hierarchy).save(baos);
>
> So the lower numbers I get (i.e. 6595kb versus 101238kb
> and 140ms versus 25864ms) would be explained by this.
> Would it be possible for you to make this change on your
> end?
>
> To get the Level time number, I multiple the average time
> reported to System.out by the number of iterations (i.e.
> 1000 iterations for small, 100 for medium, and 10 for
> large data sets).
>
> My setup is as follows:
>
> JDK 1.5.0_03
> Windows XP SP 2
> Dell Lititude D600 with 1.86Ghz Intel Pentium M
> processor and 2GB RAM
> JProfiler 4.0.9
> Below are the results I get. Regards,
>
> GIac
>
>
> Marshaling
>
>
>
> Time (ms)
>
> Memory (kb)
>
> Memory (objects)
>
> Startup
>
> Level
>
> startup
>
> level
>
> startup
>
> level
>
> JAXB 2.0
>
> Small data sets
>
> 6.2
>
> 122
>
> 7579
>
> 5349
>
> 89689
>
> 53041
>
> Medium data sets
>
> 21
>
> 179
>
> 7740
>
> 15976
>
> 91132
>
> 133759
>
> Large data sets
>
> 65
>
> 140
>
> 8239
>
> 6595
>
> 96118
>
> 63474
>
> XMLBeans
>
> Small data sets
>
> 39
>
> 223
>
> 378
>
> 31307
>
> 1920
>
> 51116
>
> Medium data sets
>
> 144
>
> 273
>
> 629
>
> 11530
>
> 8561
>
> 13540
>
> Large data sets
>
> 190
>
> 130
>
> 1501
>
> 3972
>
> 35008
>
> 34290
>
>
>
> Unmarshaling
>
>
>
> Time (ms)
>
> Memory (kb)
>
> Memory (objects)
>
> Startup
>
> Level
>
> startup
>
> level
>
> startup
>
> level
>
> JAXB 2.0
>
>
>
>
>
>
>
>
>
>
>
>
>
> Small data sets
>
> 30
>
> 444
>
> 7666
>
> 21544
>
> 90632
>
> 304302
>
> Medium data sets
>
> 89
>
=== message truncated ===




__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
For additional commands, e-mail: users-help_at_jaxb.dev.java.net


                
---------------------------------
Yahoo! for Good
 Click here to donate to the Hurricane Katrina relief effort.