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

Re: Processor Performance

Subject: Re: Processor Performance
From: Paul Levin <plevin@xxxxxxx>
Date: Wed, 19 Jan 2000 10:25:14 -0500
paul wysocki java
Any particular reason for LotusXsl and the IBM XML Parsers not being included in
the test ?


WYSOCKI Adalbert wrote:

> Finnaly someone interested in XSLT performance processors.
> I asked for those informations before but nobody was able to give me a
> response.
>
> Adalbert WYSOCKI
>
> I performed some tests resumed above:
>
>     Tests on XSLT processors
>     ------------------------
>
> The main point to evaluate in order to decrease the processing time applying
> style rules to an XML document is to choose the best XSL Processor
> associated with the best XML parser. I mean the processor that have the best
> conformance with regards to XSLT recommendations and that processes style
> sheets as fast as possible and as regularly as possible. For that we have
> performed some test with each processor with different XSL documents and XML
> documents to reflect different possible cases. Results are resumed in the
> following paragraph.
>
>     Tested processors
>     -----------------
>
> - XT version Version 19991105 (the reference) written by James Clark
> implementing the last recommendations(http://www.jclark.com)
> - Saxon Version 5.0 written by Mike Kay implements the last recommendations
> (http://users.iclway.co.uk/mhkay/saxon)
> - Xalan v0.19.1 processor known in the past as Lotus XSL (It have been
> offered by IBM to an open source apache XML project
> (http://xml.apache.org)).
> - Oracle v2_0_2_6 processor part of Oracle 8i database product.
>
>     Enviromnent
>     -----------
>
> - PC Pentium III 500
> - 256 Mo
> - Windows NT 4.0 Server
> - JDK 1.2.2 (+ JIT)
>
>      Results
>      -------
>
> For each test given results are:
>
> - An average on times get from the test performed 60 times
> - The minimum value from 60 times
> - The maximum value from 60 times
>
>    *********
>    * Test1 *
>    *********
>
> Documents:
>
> - XML document: stats.xml (8ko)
> - Style document:  statistics_list.xsl (47ko)
>
>  ---------------------------------------------------------------------------
> --------------------------------------------
> |Processeur   |    XT + Xerces  |  XT + SUN  |  Saxon + Xerces  |  Saxon +
> SUN  |  Xalan + Xerces  |  Oracle + Oracle   |
>  ---------------------------------------------------------------------------
> --------------------------------------------
> |Average (ms) |    54.58333333  |    51.75   |    108.6333333   |     159.9
> |      151.7167    |       169.75       |
> |Min (ms)     |       20        |    20      |      50          |     90
> |      80          |       140          |
> |Max (ms)     |       350       |    421     |      610         |     851
> |      932         |       1101         |
>  ---------------------------------------------------------------------------
> --------------------------------------------
>
>    *********
>    * Test2 *
>    *********
>
> Documents:
>
> - XML document: stats2.xml (21ko)
> - Style document:  statistics_list.xsl (47ko)
>
> Changes: contracts BO with class="display" attribute has been increased by
> 10 so that the matching of this BO in the XSL style sheet is made 10 times
> more that in the preceding case.
>
>  ---------------------------------------------------------------------------
> --------------------------------------------
> |Processeur   |    XT + Xerces  |  XT + SUN  |  Saxon + Xerces  |  Saxon +
> SUN  |  Xalan + Xerces  |  Oracle + Oracle   |
>  ---------------------------------------------------------------------------
> --------------------------------------------
> |Average (ms) |       165.2     |    220.8   |      368.55      |     419.1
> |      552.8       |       422.1        |
> |Min (ms)     |       110       |    140     |      281         |     320
> |      400         |       270          |
> |Max (ms)     |       650       |    670     |      962         |     1182
> |      1592        |       1472         |
>  ---------------------------------------------------------------------------
> --------------------------------------------
>
>         XSLT Rules
>       ----------
>
> I have performed some tests changing, replacing and inverting rules in XSL
> style sheets.
> We found a rule (use absolute path instead of //) that makes documents
> processing 10 times quickly.
> Resulting XSL documents will be processed in less than 100 ms. I think it is
> satisfying comparing to database requests processing time.
>
>       C/C++ vs. Java
>       --------------
>
> Processors in C language are not yet available in general. The XSLT
> recommendations are in most part based on the Java language especially
> concerning some functions like those for number formatting or some others.
> For those reasons their implementation in C language seems to be more
> difficult than in Java. I have tested Xalan XSLT processor in its first
> version. A lot of XSLT functionalities are not yet implemented and its debug
> mode makes it process very slowly. I think to see very efficient XSLT
> processor we have to wait some times.
>
> Results of the test performed on the summary.xsl and summary.xml documents.
>  ------------------------------------------
> |Processor   |   XT Java   |    Xalan C++  |
>  ------------------------------------------|
> |processig   |     500     |     2000      |
> |time (ms)   |             |               |
>  ------------------------------------------
>
>       XT processor DOM source or serialized DOM InputSource
>       -----------------------------------------------------
>
>  -------------------------------------------------
> | Serialized   |  Login   |  Summary   |  Stats   |
> | InputSource  |  page    |   page     |  page    |
> |-------------------------------------------------|
> |              |   40     |    240     |   130    |
> |              |   40     |    230     |   160    |
> |              |   40     |    260     |   120    |
> |              |   30     |    230     |   140    |
> |              |   40     |    240     |   120    |
> |              |   30     |    240     |   121    |
> |              |   40     |    240     |   100    |
> |              |   30     |    230     |   120    |
> |              |   60     |    270     |   120    |
> |              |   41     |    270     |   110    |
> |-------------------------------------------------|
> | Average      |  39.1    |    245     |   124.1  |
>  -------------------------------------------------
>  -------------------------------------------------
> | DOM Object |    Login   |  Summary   |  Stats   |
> |            |     page   |   page     |  page    |
> |-------------------------------------------------|
> |            |    40      |    571     |    171   |
> |            |    30      |    521     |    130   |
> |            |    30      |    491     |    271   |
> |            |    40      |    430     |    130   |
> |            |    30      |    400     |    130   |
> |            |    41      |    401     |    140   |
> |            |    40      |    411     |    130   |
> |            |    30      |    390     |    120   |
> |            |    30      |    401     |    140   |
> |            |    40      |    400     |    130   |
> |-------------------------------------------------|
> | Average    |    35.1    |    441.6   |    149.2 |
>  -------------------------------------------------
>
> We can see that XT runs in general case better with a serialized InputSource
> document that with a DOM object.
>
>       Conclusions
>       -----------
>
> Comparing to the fastest other XSLT processors XT is two times quickly. What
> is important too is the difference between the behavior of the XT and Saxon
> processor associated with from one part ProjectX parser (SUN) and from the
> other part with Xerces parser  (xml apache project).
>
>       Annexe A
>       --------
>
> - Stats.xml
>
>         Size: 8ko
>         Contains:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <test>
>   <protocol>
>     <userrequest>
>       <xmldoc>common/statistics/statistics_offers_default.xml</xmldoc>
>       <statstype>offers</statstype>
>       <style>common/statistics/statistics_list.xsl</style>
>       <statsobjectid>1000</statsobjectid>
>
> <urlbase>/servlet/ImServlet?JServSessionId=3fe7ad6d23f5084e.3.944480829706&a
> mp;</urlbase>
>       <dateformat>MM/dd/yyyy</dateformat>
>     </userrequest>
>   </protocol>
>
>   <businessobject>
>    <merchant>
>       <id>1000</id>
>       <pagetitle>Welcom the best merchant pe qui peut tout "Peter"
> !!!!</pagetitle>
>       <currentquarter>1</currentquarter>
>       <state>A</state>
>       <businesscontact>
>         <id>1000</id>
>         <login>pe</login>
>         <lastaccess>12/06/1999</lastaccess>
>         <profile>A</profile>
>       </businesscontact>
>     </merchant>
>     <offer>
>       <id>1000</id>
>       <name>http://www.perdu.com</name>
>       <familyRef>1000</familyRef>
>     </offer>
>     <contract class="display">
>       <offer>
>         <name>http://www.perdu.com</name>
>         <commissionmethods>
>           <commissionmethodRef>1000</commissionmethodRef>
>         </commissionmethods>
>         <id>1000</id>
>       </offer>
>       <subscriber>
>         <affiliate>
>           <id>1010</id>
>           <name>aldo1</name>
>         </affiliate>
>       </subscriber>
>       <id>1016</id>
>       <name />
>       <enddate format="MM/dd/yyyy">01/27/2000</enddate>
>     </contract>
>
>    <!- contract BO with class="display" attribute x3 -- >
>
>     <contract>
>       <offer>
>         <name>http://www.perdu.com</name>
>         <commissionmethods>
>           <commissionmethodRef>1000</commissionmethodRef>
>         </commissionmethods>
>         <id>1000</id>
>       </offer>
>       <subscriber>
>         <affiliate>
>           <id>1010</id>
>           <name>aldo1</name>
>         </affiliate>
>       </subscriber>
>       <id>1016</id>
>       <name />
>       <enddate format="MM/dd/yyyy">01/27/2000</enddate>
>     </contract>
>
>     <!- contract BO x3 -- >
>
>     <parameter>
>       <id>6</id>
>       <name>Number of buy</name>
>       <type>F</type>
>       <backendparameterid>6</backendparameterid>
>     </parameter>
>
>     <!-- parameter BO x11 -->
>
>     <intervaldates>
>       <type>thismonth</type>
>       <dateformat>MM/dd/yyyy</dateformat><begindate
> format="MM/dd/yyyy">12/01/1999</begindate>
>       <enddate format="MM/dd/yyyy">12/05/1999</enddate>
>       <numberofdays>4</numberofdays>
>     </intervaldates>
>
>     <commissions>
>       <commissiondate format="MM/dd/yyyy">12/01/1999</commissiondate>
>       <commissiondate format="MM/dd/yyyy">12/05/1999</commissiondate>
>       <contract groupby="yes">
>         <id>1016</id>
>       </contract>
>       <value>0.0</value>
>     </commissions>
>
>     <!-- commissions BO x3 -->
>
>   </businessobject>
> </test>
>
> - Stats2.xml
>
> Size: 21 ko
> Contains:
>
> The same that the preceding (stats.xml) but contracts BO with class=?
> display? attribute has been increased by 10 so that the matching of this BO
> in the XSL style sheet is made 10 times more that in the preceding case.
>
> - statistics_list.xsl
>
> Statistics_list.xsl
>
>         Size: 47ko
>         Contains: Too long to be inserted
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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.