[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSL Transformation overhead

Subject: Re: XSL Transformation overhead
From: "M. David Peterson" <m.david.x2x2x@xxxxxxxxx>
Date: Thu, 13 Jan 2005 02:54:41 -0700
c time milliseconds
Actuallly Michael, per your advice I built it such that you can add as
many elements as you want and whatever command line switches you
desire.  The XML Config file to do this looks like:

[btw... my apologies, I thought you were aware that I had built this
after taking your advice from a few weeks ago]:

<?xml version="1.0"?>
<output>
  <files>
    <source href="test-group.xml"/>
  </files>
  <defaults>
    <processor id="saxon" call="Saxon8.jar">Saxon 8.1.1 form
Saxonica</processor>
    <platform id="java" call="java">Java 1.4.2_4 from Sun
Micrososystems</platform>
    <command-line id="cmdln" default-switch="-">
      <switch call-id="java" no-switch="true"/>
      <switch value="ms" multiple-of="1024" use="512m">Sets the
minimum heap size for the Java VM</switch>
      <switch value="mx" multiple-of="1024" use="512m">Sets the
maximum heap size for the Java VM</switch>
      <switch value="jar">Tells the Java VM to use the Java Archive
option</switch>
      <switch call-id="saxon" no-switch="true"/>
    </command-line>
  </defaults>
  <sequence>
    <node call-id="cmdln" />
    <node>t</node>
    <node>o</node>
    <node>in-xml</node>
    <node>in-xsl</node>
    <node>capture-t</node>
  </sequence>
  <sequence>
    <node call-id="cmdln" />
    <node>t</node>
    <node>3</node>
    <node>o</node>
    <node>in-xml</node>
    <node>in-xsl</node>
    <node>capture-t</node>
  </sequence>
  <sequence>
    <node call-id="cmdln" />
    <node>t</node>
    <node>9</node>
    <node>o</node>
    <node>in-xml</node>
    <node>in-xsl</node>
    <node>capture-t</node>
  </sequence>
</output>

An example of a .bat file this creates looks like:

java -ms512m -mx512m -jar Saxon8.jar -t -9 -o o-1000.xml 1000.xml
test-group-m.xsl 2>execution-results\o-1000.xml-m-3.txt

And the output info after all nine times through the 1000 element
node-set from this looks like:

Saxon 8.1.1 from Saxonica

Java version 1.5.0

Stylesheet compilation time: 422 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 78 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 609 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 31 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 391 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 0 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 328 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 15 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 359 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 0 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 328 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 0 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 375 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 0 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 344 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 16 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 453 milliseconds

Processing file:/C:/test/output/1000.xml

Building tree for file:/C:/test/output/1000.xml using class
net.sf.saxon.tinytree.TinyBuilder

Tree built in 16 milliseconds

Tree size: 1001 nodes, 0 characters, 1998 attributes

Execution time: 547 milliseconds

On Thu, 13 Jan 2005 09:44:33 -0000, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > you can access a test suite I developed that will help create an array
> > of various transformation scenarios that builds a .bat file for each
> > test as well as a master bat files that calls each test one after
> > another until complete.
> 
> I don't think that performance figures obtained from the command line are
> representative, certainly for anything under a second. They are too heavily
> distorted by Java start-up costs. It's much better to use a Java driver
> application that runs each transformation multiple times, ideally ignoring
> outlier results.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 


-- 
<M:D/>

:: M. David Peterson ::
XML & XML Transformations, C#, .NET, and Functional Languages Specialist

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.