XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + Maximum recursion depth exceed... (3)
-> + How do I develop the server si... (2)
-> + XSD Reuse (2)
-> + what happened to my preview re... (3)
-> + How do I use the Custom XML Co... (4)
-> + WYSIWYG missing in release 2 o... (2)
-> + space between elements (3)
-> + Oracle XML Gateway output CONV... (6)
-> + Someone please help me install... (5)
-> + XML Schema (XSD) to COBOL Data... (2)
-> + Can't compile Java (9)
-> + Trouble using the UDDI Browser (5)
-> + JVM Problem when installing Ar... (2)
-> + Stylus Studio Enterprise 8r2 d... (2)
-> - xml report headers (1)
-> + ddtek:sql-delete and ddtek:sql... (4)
-> + Validation blocked (4)
-> + List from XMl to be displayed ... (2)
-> + reports - changing data source (5)
-> + Disable HTML tags in Sense:X (8)
-> + .NETCompiledTransform Paramete... (3)
-> - Why Is The Saxon Processor So ... (13)
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> ->Why Is The Saxon Processo...
-> + Still can not get "integrated ... (15)
-> + quick xml gen from xsd (2)
-> - new to sylus, issue with if va... (1)
-> + Question about using Data Dire... (5)
-> + Why is the DB to XML Data Sour... (2)
-> + Relational db => XML pipeline (2)
-> + connection to oracle 10g (8)
-> + xsl:function misdemeanor (3)
-> + Records Extraction from XML (2)
-> + line break variable destroyed (2)
-> + Restricting on an extended typ... (5)
-> + folding all xml elements at on... (2)
-> + help converting a text file to... (5)
-> + Java Functions (5)
-> + XML Schema - extend then restr... (6)
-> + Converting SGML to XML in pipe... (2)
-> + Unattended install? (3)
-> + what are the differences betwe... (2)
-> + cannot install (2)
-> + Missing Parameters within Web ... (3)
-> + XSLT processors not creating o... (8)
-> - How to format a seperate colum... (1)
-> + Finnish language characters (3)
-> + x12 schemas (10)
-> + Howto search multiple XML file... (3)
-> + Chameleon Schema? (2)
-> + Problems generating pdf (9)
-> + Cannot install Stylus Studio R... (19)
-> + source xml of a report (3)
-> + File I/O Error when encounter ... (3)
-> + substitution groups in xslt ma... (4)
-> + Delete rows in a MS SQL Server... (7)
-> - Attaching DB2 Database in File... (1)
-> + Can't debug xsl examples with ... (14)
-> + Best way to transform existing... (2)
-> + Exception in generated java co... (3)
-> + Java API for converting EDI X1... (2)
-> + XPath Query Editor slow perfor... (7)
-> + mapper schema problem (5)
-> + cursor issue in stylus studio ... (2)
-> + how to generate xslt code for ... (4)
-> + Web Service (12)
-> + Additional rule (2)
-> + Help needed: XMLSchema and unp... (9)
-> + Module settings for external X... (3)
-> + Finding Errors in the XML File (6)
-> + CSV 2 XML (2)
-> + Automatic Namespace when using... (2)
-> + Can't find 'Associate XML Sche... (3)
-> + Calling Stylus Studio API from... (2)
-> + EDI TO XML using the Stylus St... (4)
-> + MarkLogic Integration (4)
-> + (null)0:0 (3)
-> + Recent Windows Patch for MSXML... (3)
-> + Show XML from Schema (2)
-> + xml publisher - report to xslt... (4)
-> + EDI TO XML using the Stylus St... (3)
-> + Unable to Generate XML file fr... (6)
-> + DB to XML in Enterprise Suite (2)
-> + pdf to xml (2)
-> - Open External Schema - button ... (1)
-> - Unable to Generate XML from xC... (1)
-> + Unable to Generate XML from xC... (2)
-> + pre-proc processing in xml (2)
-> + FATAL ERROR: Expected comment ... (2)
-> + How to split window (3)
-> + XML Transformation Architectur... (2)
-> + only one record get run in an ... (2)
-> + xbrl schema file (2)
-> + Compare of 2 xml files (2)
-> + config control (4)
-> + create copy link in mapper (5)
-> + SGML DTD (3)
-> + command line access to your xs... (4)
-> + XML Schema: Attribute Choice (2)
-> + Upload file w/ topic (6)
-> - Can't View Properties (1)
-> + Can't View Properties (5)
-- Previous [1381-1400] [1401-1420] [1421-1440] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 29 Sep 2007 06:57 AM
This is something that I've noticed for quite awhile now-- Saxon 8.9.0.3 is absolutely the slowest XSLT processor out of all choices in Stylus Studio. It takes significantly longer to complete a transformation than all the others.

For an XSLT 1.0 transformation, it took 1.6 seconds to complete.

For comparison, here are results for some of the others:

Built-in: 16ms
Java Built-in: 391ms
.NET Transform: 63ms
.NET Compiled Transform: 141ms

Postnext
Minollo I.Subject: Why Is The Saxon Processor So Slow?
Author: Minollo I.
Date: 29 Sep 2007 08:39 AM
That's because Saxon is hooked in Stylus Studio to provide debugging and backmapping information; by no means is Saxon slow; what you are experiencing is a side effect of its tighter integration in the Stylus Studio debugging framework.

We have improved things significantly in recent maintenance packages, and even more in the coming version this fall; what Stylus Studio version/build (Help > About) are you running?

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 29 Sep 2007 08:49 AM
My current version installed is 2007 R2 Enterprise 894m.

Note that I have observed this same behavior with every R2 2007 Enterprise release I have ever had installed. .NET XslTransform and built-in both support debugging, correct? They are significantly faster in execution though. Hmm.

Postnext
(Deleted User) Subject: Why Is The Saxon Processor So Slow?
Author: (Deleted User)
Date: 01 Oct 2007 10:42 AM
Hi Jamil,
could you share your XSLT with us? Send it to stylus-field-report@progress.com and we'll check if it follows code paths that are not yet optimized.

Thanks,
Alberto

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 01 Oct 2007 06:40 PM
I just emailed a ZIP file containing my Stylus Studio project files to the email address specified. It is a small project, but it demonstrates what I have described.

Thanks.

Postnext
(Deleted User) Subject: Why Is The Saxon Processor So Slow?
Author: (Deleted User)
Date: 03 Oct 2007 10:39 AM
Hi Jamil,
thank you for sharing your project with us.
I tried running the ValidatorToHtml.xsl file on my computer, and these are the results:

Processor Min Max
Builtin 20 ms 60 ms
Saxon 219 ms 431 ms
Java builtin 181 ms 371 ms
.NET 101 ms 180 ms

My numbers seems comparable to yours, but the Saxon ones; I have tried with both JVM 1.5 and 1.6. Which one are you using?

Alberto

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 03 Oct 2007 05:48 PM
I am running 1.6 on a decently classed machine (CPU power, memory, etc).

Saxon is a little faster if I set the execution mode to basic. The transformation executes in 1.2 seconds then (I just ran it). This is the first time executing it after starting Stylus Studio. All of my timings have been the first execution for each processor.

Postnext
(Deleted User) Subject: Why Is The Saxon Processor So Slow?
Author: (Deleted User)
Date: 04 Oct 2007 09:36 AM
Hi Jamil,
you should discard the timing of the first execution after Stylus starts; there is a certain amount of one-time operations (initializing the JVM, loading the Saxon JARs) that is not part of the XSLT processing. You should get lower numbers for any other subsequent execution.

Alberto

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 04 Oct 2007 10:07 AM
That explains it.

Thanks.

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 05 Oct 2007 10:21 AM
>you should discard the timing
>of the first execution after
>Stylus starts; there is a
>certain amount of one-time
>operations (initializing the
>JVM, loading the Saxon JARs)
>that is not part of the XSLT
>processing. You should get
>lower numbers for any other
>subsequent execution.

Thinking about this a little more, would it make sense to do all this setup in a separate thread during startup? It's around one second of initialization that could occur during startup, correct? This way, I receive the correct timings during transformation the first time I execute.

Should I post this under feature request?

Postnext
(Deleted User) Subject: Why Is The Saxon Processor So Slow?
Author: (Deleted User)
Date: 05 Oct 2007 12:03 PM
Hi Jamil,
unfortunately it's not possible to move this initialization phase to the startup of Stylus, as the JVM could crash if the user specifies the wrong options (and with the JVM crashing at startup the user could not access the option page to fix the parameters). Also, we would get the complaints of those users using Stylus to run only .NET processors....

Could you elaborate why the first execution timing worries you so much?

Thanks,
Alberto

Postnext
Jamil TaylorSubject: Why Is The Saxon Processor So Slow?
Author: Jamil Taylor
Date: 05 Oct 2007 12:29 PM
Until this thread, I was not aware that I should ignore the first execution of a Saxon-based XSLT transformation. If I throw away the results of the first execution, then Saxon is no longer the slowest processor.

However, if this initialization is required (for whatever reasons), then I cannot throw away the results of the first execution. Saxon is the slowest processor for XSLT transformations. If the reasons for it being the slowest is the loading of Saxon jars, I do not understand why the loading of jars cannot be done during startup. Loading the jars could crash the JVM? Perhaps I should just avoid Saxon...

I am a .NET developer, and I would not complain about the loading of jars in a completely different thread. Of course, I cannot speak on behalf of all .NET developers, but I would not understand the reason behind those who would complain about it.

If Saxon is the fastest/best/etc, I am not seeing proof of that in this implementation of it. It's really not that big of a deal to me, but it is good for analysis.

Posttop
(Deleted User) Subject: Why Is The Saxon Processor So Slow?
Author: (Deleted User)
Date: 05 Oct 2007 01:23 PM
Hi Jamil,
I think we are talking about different things here; if you want to discover which processor is the fastest, you should know that every benchmark will always discard the first iteration, the fastest and the slowest and then average a certain amount of executions.
As for the JVM crashing, I didn't state that loading Saxon jars crashes the JVM; I said that loading the JVM with certain user-specified options (like "allocate 4Gb of memory") will cause a "panic error" in the JVM that kills Stylus.

Hope this helps,
Alberto

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.