Subject: Re: [xsl] performance benefits of XSL3.0 From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 19 Apr 2016 19:37:00 -0000 |
SAX is a very low-level way of streaming XML; XSLT 3.0 is a very high-level way of doing it. The main benefit of using a high-level approach to anything is not machine performance, but programmer productivity: you get a correct program running with a fraction of the effort. Another factor is whether the high-level software is smarter than the programmer writing the low-level code. That depends on the skills of the programmer: a few programmers will do a brilliant job, but most will probably make a mess of it. For example, it's a reasonable to assume that Saxon's multi-threading is more likely to bug-free than multi-threading code written by the average Java programmer; but I have no idea whether your programmers are below or above average. With any exercise looking at a possible course of action to improve performance, you need to start with measurements and targets. What is your current performance, how far does it fall short of requirements? Then you need to understand where the current performance is going. You say that XSLT is contributing to the large processing times, but do you know why? It could be one inefficient XPath expression that could be rewritten to solve all your problems. Sometimes all the cost is in stylesheet compilation, and there are ways of dealing with that. If you don't know exactly where the bottlenecks are currently, then any exercise designed to remove them has a good chance of failing. It may be worth exploring alternative approaches experimentally just to collect data, but treat it as an experiment: just another thing to measure to improve your understanding. Michael Kay Saxonica > On 19 Apr 2016, at 19:28, Mailing Lists Mail daktapaal@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Dear All, > Need some quick help. > We are in a business of processing xmls and these come in big loads. some of them running real big. We have application that needs to convert these incoming XMLS into our internal XMLs and persist the data. We use XSLT as our transformation layer. We are totally convinced we need XSLT to carry out our job , obviously because of the ease of coding and the powerful language constructs of xslt. Off late we have noticed that the XSLT has contributed hugely to the large processing times. > > We are using Sax parsers to chop the big XMLs into meaning ful chuncks and process each of these chunks in parallel .and we use XSLT2 and saxon to process the individual chunks. > > My question here is, if I shift to XSLT3 and do not change my code, will it still give me any performance benefits over the XSLT2 . I understand that the XSLT3 has a slightly different approach to XSLT programming ( losing certain axe etc.). Will the xslt3 processor read the input xml in a different way? > > I am hoping that my question is clear .. > > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <-list/293509> (by email <>)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] performance benefits of X, Martin Honnen martin | Thread | Re: [xsl] performance benefits of X, Ihe Onwuka ihe.onwuk |
Re: [xsl] performance benefits of X, Martin Honnen martin | Date | Re: [xsl] performance benefits of X, Ihe Onwuka ihe.onwuk |
Month |