cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject XSLTC rocks the planet!
Date Sat, 23 Feb 2002 11:23:47 GMT
Ok people,

I just tried a quick test on my laptop with the patched XSLTC that Jacek
sent me. The results are outstanding!

I ran just one test, the rest isn't useful anymore:

 XSLTC (patched) on JDK 1.3.1 yields 590,44

!!!!!!!!!!!

In case you don't remember, MSXML 3.0 (natively) yields more or less 320

So, in case math is not your friend, this says that XSLTC is *twice* as
fast as a native processor on the same machine!!!!

So, Xalan, what about giving Jacek CVS commit access so that he can
continue to work on XSLTC and improve it's performance? :)

Ah, BTW, let me file my first bug report for XSTLC: the XSLTMark
'number' test gives me the following stacktrace:

number:             number.xsl          number.xml          ...
Attempting to format number '22.0' using pattern ##,##,00.##'.
java.lang.RuntimeException: Attempting to format number '22.0' using
pattern '##,##,00.##'.
        at
org.apache.xalan.xsltc.runtime.BasisLibrary.runTimeError(BasisLibrary.java:999)
        at
org.apache.xalan.xsltc.runtime.BasisLibrary.runTimeError(BasisLibrary.java:1007)
        at
org.apache.xalan.xsltc.runtime.BasisLibrary.formatNumber(BasisLibrary.java:884)
        at xsltmark24.number.applyTemplates()
        at xsltmark24.number.applyTemplates()
        at xsltmark24.number.applyTemplates()
        at xsltmark24.number.transform()
        at
org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:547)
        at
com.datapower.xsltmark.XSLTCDriver.runTransform(XSLTCDriver.java:200)
        at
com.datapower.xsltmark.XSLTMark.runBenchmark(XSLTMark.java:96)
        at com.datapower.xsltmark.XSLTMark.main(XSLTMark.java:506)

transform failed!

Also, XSLTMark reports these results

Results for driver XSLTCDriver

                          prep  exec
Test Component     iter   ms    ms     KB In     KB Out    KB/s     
status

alphabetize         10    210   661    196       0         149,07    CHK
OUTPUT
attsets             100   140   732    121       256       257,75    OK
avts                100   90    1462   1966      1157      1068,07   OK
axis                100   200   501    35        61        96        OK
backwards           100   90    1963   260       261       133,05    OK
bottles             100   311   1312   4         1130      432,49    OK
breadth             100   80    821    415       200       375,64    OK
brutal              100   231   1131   130       536       295       OK
chart               100   111   1291   121       604       281,13    OK
creation            50    100   2143   983       1520      584,21    OK
current             100   90    411    18        30        59,52     OK
dbonerow            10    100   1802   19621     11        5447,44   OK
dbtail              100   80    941    1966      504       1312,44   OK
decoy               100   150   5909   1966      1974      333,45    OK
depth               100   40    891    588       373       540,23    OK
encrypt             10    70    681    196       196       288,81    OK
functions           100   110   6159   1966      618       209,82    OK
game                100   110   481    260       71        344,94    OK
html                100   100   411    29        77        129,5     CHK
OUTPUT
identity            10    60    1773   1962      1962      1106,93   OK
inventory           100   161   691    184       202       280,04    OK
metric              100   170   881    88        65        87,46     CHK
OUTPUT
number              0     110   0      0         0         ?        
ERROR
oddtemplate         100   80    300    16        15        54,04     OK
patterns            100   101   3164   1966      1974      622,74    OK
prettyprint         10    131   6779   196       1624      134,3     OK
priority            100   130   350    91        57        212,05    OK
products            100   80    761    196       55        165,09    OK
queens              10    200   1342   0         17        6,53      OK
reverser            100   100   631    129       129       205,53    OK
stringsort          10    71    2804   1962      1933      694,7     OK
summarize           100   111   741    712       29        500,67    CHK
OUTPUT
total               100   90    290    121       45        287,75    OK
tower               20    211   4226   1         1381      163,57    OK
trend               100   100   9714   176       806       50,61     CHK
OUTPUT
union               100   90    271    16        11        53,15     OK
xpath               100   70    270    28        20        91,15     OK
xslbench1           100   130   1022   36        809       413,84    OK
xslbench2           20    80    1903   2920      2290      1369,26   OK
xslbench3           20    60    210    2920      25        7014,32   OK

Aggr. Results       2570  3948  55418  43374     22066     590,44
Arithmetic Mean           116,12                            733,38
Geometric Mean                                             300,86
Harmonic Mean                                              107,97
Conformance Score (OK+NOREF+SKIPPED divided by TOTAL)      34/40 = 85%

which means that 

 - alphabetize
 - html
 - summarize
 - trend

deviate from what Xalan and Saxon do (so might be a conformance error).

Question: do you Xalan guys run the conformance tests on XSLTC as well?

Now, Jacek also patched XSTLC to make it work with Cocoon.... I'm on to
try that out right now. I'll report back when I have more info.

For now, I'm *very* happy to see *finally* java shining performance-wise
:)

I think this shows that using a native XSLT processor for Cocoon isn't
such a great idea after all. Happy to find it out before attempting to
make one work :)

And remember: These are results using hotspot client technology....
hotspot server further compiles things down as you go but you need much
more runs to appreciate them... better tests will come out for real-life
use on the server.

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<stefano@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message