|
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 |