users@fi.java.net

Non-FI performance problems

From: Mark Swanson <mark_at_ScheduleWorld.com>
Date: Thu, 19 Jan 2006 11:00:14 -0500

Hello,

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.

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.

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.


-- 
Free replacement for Exchange and Outlook (Contacts and Calendar)
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb