users@fi.java.net

Re: Non-FI performance problems

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Thu, 19 Jan 2006 17:16:36 +0100

Hi Mark,

Can you send the code that does the measurement and i might be able to
spot if the stax implementation is being used optimally or not?


Mark Swanson wrote:
> Before I tested the nice time/space FI compression I wanted to make sure
> that normal non-FI clients would still perform well. In summary I found
> that the FI stax implementation for non-FI clients was about 1.85x
> slower than woodstox and about 1.4x slower than the RI.
>

What is a "non-FI client"? I am slightly confused what it means for a
"FI stax implementation for a non-FI client".


> I tested the 3 implementations using XFire and XmlBeans using a
> document/wrapped service with a small XmlBean argument.
>
> I loop through the remote method 50 times and print how long that took
> 20 times. I did the test 3 times for each stax implementation to allow
> hotspot some time to do its stuff (at least on the server side).
>
> The tiny SOAP envelope is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <test xmlns="http://DefaultNamespace">
> <ns1:year
> xmlns:ns1="http://webservices.optimalpayments.com/xact">0</ns1:year>
> </test>
> </soapenv:Body>
> </soapenv:Envelope>
>
> The response was even smaller as the XmlBean return object/document was
> empty.
>

Note that for very small messages you will not see a large performance
difference between processing XML documents and Fast Infoset documents
because there is not a lot of repeating information in the document
(e.g. try GZIPing it and you will probably get about 50% compression).

Paul.

> 3. Using Sun's Fast Infoset:
> (slowest of all when not using FI)
>
> testserver:
> [testng] setUp() complete.
> [testng] setUp() complete.
> [testng] loops:50, in ms:555
> [testng] loops:50, in ms:462
> [testng] loops:50, in ms:443
> [testng] loops:50, in ms:445
> [testng] loops:50, in ms:444
> [testng] loops:50, in ms:406
> [testng] loops:50, in ms:381
> [testng] loops:50, in ms:427
> [testng] loops:50, in ms:376
> [testng] loops:50, in ms:414
> [testng] loops:50, in ms:371
> [testng] loops:50, in ms:377
> [testng] loops:50, in ms:375
> [testng] loops:50, in ms:376
> [testng] loops:50, in ms:473
> [testng] loops:50, in ms:369
> [testng] loops:50, in ms:365
> [testng] loops:50, in ms:368
> [testng] loops:50, in ms:375
> [testng] loops:50, in ms:370
>
> 1. Using woodstox:
>
> testserver:
> [testng] setUp() complete.
> [testng] setUp() complete.
> [testng] loops:50, in ms:370
> [testng] loops:50, in ms:317
> [testng] loops:50, in ms:279
> [testng] loops:50, in ms:242
> [testng] loops:50, in ms:244
> [testng] loops:50, in ms:229
> [testng] loops:50, in ms:215
> [testng] loops:50, in ms:254
> [testng] loops:50, in ms:203
> [testng] loops:50, in ms:239
> [testng] loops:50, in ms:201
> [testng] loops:50, in ms:201
> [testng] loops:50, in ms:199
> [testng] loops:50, in ms:203
> [testng] loops:50, in ms:309
> [testng] loops:50, in ms:198
> [testng] loops:50, in ms:192
> [testng] loops:50, in ms:195
> [testng] loops:50, in ms:196
> [testng] loops:50, in ms:193
>
> Notice the system stabilizes around 370ms for FI and 200ms for woodstox?
>
> I'm using FastInfosetPackage_dist_1.0.1.
>
> I'm curious why the performance is so slow for FI and if there are any
> options I can use to speed it up.
>
> Thanks for any comments.
>
> Cheers.
>
>

-- 
| ? + ? = To question
----------------\
    Paul Sandoz
         x38109
+33-4-76188109