Subject: Re: [xsl] XSLTPROC performance From: Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> Date: Fri, 21 Dec 2007 15:37:59 +0000 |
>>>>> "Andrew" == Andrew Welch <andrew.j.welch@xxxxxxxxx> writes: Andrew> On 21/12/2007, Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> wrote: >> >>>>> "Andrew" == Andrew Welch <andrew.j.welch@xxxxxxxxx> >> writes: >> Andrew> On 21/12/2007, Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> wrote: > >> The cost of the JVM start-up cannot be eliminated, but it can >> >> be amortised. For a fair comparison, you need to know what >> this >> overhead is, so you can make sensible judgements. >> Andrew> I don't think it needs to be amortised... If you start the Andrew> timing at the correct point and ignore the first few runs Andrew> then I'd say you can safely forget about JVM startup and Andrew> warm-up for the remaining runs. >> >> Then you've ignored it completely, so you don't get a fair >> comparison. Andrew> aahhh I see what you mean.... (the penny drops :) Andrew> I don't agree though - if you are comparing say Gestalt Andrew> Win32 version with Saxon running on Windows, then surely Andrew> it's only really fair to make the comparison after the Andrew> Java bytecode has become native machine code - after JVM Andrew> startup. That depends upon what you mean by fair (that is, what are you trying to measure?). So, if what you are interested in is the performance of a web-server system, then yes, that is probably the only meaningful measurement. And for Gestalt, you would have to adopt the same methodology, in a Goanna servlet (although i doubt if it would be significant, but I have never measured it, so i could be very wrong). If you workload (which is typically what I use XSLT for, but I am very probably highly atypical, as I don't use XSLT much at all these days, except for testing) is occasionally transforming gobodoc xml into an html page, then ignoring the JVM start-up time would give me an absurd conclusion, as it completely dominates the overall run-time. In general, the run-time of an XSLT processor is going depend upon the sum of a number of factors. For a Java-based processor, the JVM warm-up time is such a factor (it is some kind of non-constant workload-dependent function). So to fully characterize the performance, you are going to need to specify a number of parameters. In general, I mean. For a given workload, processor comparisons are generally much simpler to do. The only real value of a general inter-processor benchmark has, I think, is to give a prospective user an idea of which processors to measure against their own workloads. But still, I find it an interesting topic (for about 9 years my principle job was a performance analyst on mainframe systems). -- Colin Adams Preston Lancashire
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLTPROC performance, Andrew Welch | Thread | Re: [xsl] XSLTPROC performance, XSL-List Owner |
Re: [xsl] Santa has come early, Colin Paul Adams | Date | Re: [xsl] Santa has come early, Dimitre Novatchev |
Month |