<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    first stax performance test
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/alex.loubyansky%40jboss.com">Alexey Loubyansky</a> in <i>JBoss XML Binding Development</i> - <a href="http://community.jboss.org/message/542122#542122">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>I've tested the latest woodstox 4.0.8. And also have found a simply stupid bug in my previous test: XMLInputFactory was an instance variable instead of being a class variable. Sorry, that makes the previous tests not fare wrt StAX.</p><p>I've re-run the tests only for XB just switching the parsers: SAX, JDK StAX, Woodstox.</p><p>For all the parsers validation was disabled, namespace awerness enabled, XInclude disabled.</p><p>XB features: property replacement disabled, default reflection-based handlers.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><table border="1" cellpadding="3" cellspacing="0" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color:#6690BC;" valign="middle"><span style="color: #ffffff;"><strong><br/></strong></span></th><th align="center" style="background-color:#6690BC;" valign="middle"><span style="color: #ffffff;"><strong>JDK6 SAX</strong></span></th><th align="center" style="background-color:#6690BC;" valign="middle"><span style="color: #ffffff;">JDK6 StAX</span><br/></th><th align="center" style="background-color:#6690BC;" valign="middle"><span style="color: #ffffff;"><strong>Woodstox</strong></span></th></tr><tr><td>first run (in ms)</td><td>119.9</td><td>21.8</td><td>79.5</td></tr><tr><td>next 1000 runs (in ms)</td><td>939.2</td><td>546</td><td>463.3</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Woodstox takes longer to initialize but the total time (first plus subsequent 1000 runs) is still slightly better than the JDK's StAX (542.8 vs 567.8).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>WRT the XB testsuite, Woodstox showed the same failures as the JDK6 StAX, i.e. no support for default attribute values (same reason, i.e. schema validation is not supported) and XInclude.</p><p>Woodstox does support validation but only for DTD, which is not that interesting now.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>It does make sense to look into switching to a StAX impl, which means the limitations above will have to be addressed. Default attribute values could be specified with Java binding annotations or initialized manually. But XInclude still has to be implemented. I'm gonna look into that.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Another thing, entity resolution (which is in JBossEntityResolver) will have to be adapted as well. StAX API, of course, doesn't use SAX's EntityResolver and InputSource.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/542122#542122">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss XML Binding Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2065">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>