You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Stefano Mazzocchi <st...@apache.org> on 2002/02/23 12:23:47 UTC

XSLTC rocks the planet!

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.
<st...@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------



Re: New XSLTC jar available

Posted by "Jacek R. Ambroziak" <ja...@yahoo.com>.
Dims,

I'd have to recreate the problem. Help me with this
and I will try to debug it.

I removed one more serious bug yesterday and will
be posting new xsltc.jar w/i and hour.

--Jacek



On Tuesday 26 February 2002 09:07 am, Davanum Srinivas wrote:
> Torsten,
>
> Here are the steps:
> 1. Get latest CVS of xml-cocoon2. (Updated this morning to
> Xalan2.3.1+Xerces2.0.0) 2. Add BCEL.jar, java_cup.jar, JLex.jar and
> runtime.jar from Xalan2.3.1 binary distribution into lib\optional.
> 3. Add xsltc.jar from http://www.ambrosoft.com/ into lib\optional.
> 4. Build WAR file as usual with include.webapp.libs=true.
> 5. Add
> -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.Transf
>ormerFactoryImpl to your TOMCAT_OPTS.
> 6. That's it....Start ur tomcat and you will see entries with
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl in your log files.
>
> Jacek,
> Found a number of problems with XSLTC implementation. For example:
>
> javax.xml.transform.TransformerException: java.lang.RuntimeException:
> External function 'org.apache.cocoon.util.NetUtils:encodePath' not
> supported by XSLTC. at
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerH
>andlerImpl.java:199)
>
> Can you please help by trying latest Cocoon2? As you might know by now...C2
> is the best testing environment for any XSLT Engine as we use almost
> everything that Xalan supports and we periodically (when time permits) do a
> sanity check with Saxon.
>
> Thanks,
> dims
>
> --- Torsten Curdt <tc...@dff.st> wrote:
> > On Mon, 25 Feb 2002, Jacek R. Ambroziak wrote:
> > > The new xsltc.jar with several bugs removed
> > > (dbonerow performance, alphabetize, Cocoon use of Trax)
> > > is available from
> > >
> > > 	www.ambrosoft.com
> > >
> > > right click/save
> > >
> > > Since I've indentified some pretty serious errors while working
> > > on a few benchmarking cases, my hope is that whole classes
> > > of problems will go away.
> > >
> > > In the process I've noted many opportunities to improve XSLTC;
> > > I am saving these for later, concentrating on real bugs first.
> > >
> > > Soon, I hope, the changes I make will be available in the official
> > > Xalan tree.
> >
> > ...so what do I have to change in cocoon.xconf then to use xsltc
> > with cocoon then?
> > --
> > Torsten
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > For additional commands, email: cocoon-dev-help@xml.apache.org
>
> =====
> Davanum Srinivas - http://jguru.com/dims/
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Sports - Coverage of the 2002 Olympic Games
> http://sports.yahoo.com


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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


Re: New XSLTC jar available

Posted by Torsten Curdt <tc...@dff.st>.
On Tue, 26 Feb 2002, Davanum Srinivas wrote:

> Torsten,
>
> Here are the steps:
> 1. Get latest CVS of xml-cocoon2. (Updated this morning to Xalan2.3.1+Xerces2.0.0)
> 2. Add BCEL.jar, java_cup.jar, JLex.jar and runtime.jar from Xalan2.3.1 binary distribution into
> lib\optional.
> 3. Add xsltc.jar from http://www.ambrosoft.com/ into lib\optional.
> 4. Build WAR file as usual with include.webapp.libs=true.
> 5. Add -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
> to your TOMCAT_OPTS.
> 6. That's it....Start ur tomcat and you will see entries with
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl in your log files.
>
> Jacek,
> Found a number of problems with XSLTC implementation. For example:
>
> javax.xml.transform.TransformerException: java.lang.RuntimeException: External function
> 'org.apache.cocoon.util.NetUtils:encodePath' not supported by XSLTC.
> 	at
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:199)
>
> Can you please help by trying latest Cocoon2? As you might know by now...C2 is the best testing
> environment for any XSLT Engine as we use almost everything that Xalan supports and we
> periodically (when time permits) do a sanity check with Saxon.

Cool! Thanks, Dims

I'll try the in the next days...

Thanks
--
Torsten


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


Re: New XSLTC jar available

Posted by Davanum Srinivas <di...@yahoo.com>.
Torsten,

Here are the steps:
1. Get latest CVS of xml-cocoon2. (Updated this morning to Xalan2.3.1+Xerces2.0.0)
2. Add BCEL.jar, java_cup.jar, JLex.jar and runtime.jar from Xalan2.3.1 binary distribution into
lib\optional.
3. Add xsltc.jar from http://www.ambrosoft.com/ into lib\optional.
4. Build WAR file as usual with include.webapp.libs=true.
5. Add -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
to your TOMCAT_OPTS.
6. That's it....Start ur tomcat and you will see entries with
org.apache.xalan.xsltc.trax.TransformerHandlerImpl in your log files.

Jacek,
Found a number of problems with XSLTC implementation. For example:

javax.xml.transform.TransformerException: java.lang.RuntimeException: External function
'org.apache.cocoon.util.NetUtils:encodePath' not supported by XSLTC.
	at
org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:199)

Can you please help by trying latest Cocoon2? As you might know by now...C2 is the best testing
environment for any XSLT Engine as we use almost everything that Xalan supports and we
periodically (when time permits) do a sanity check with Saxon.

Thanks,
dims

--- Torsten Curdt <tc...@dff.st> wrote:
> On Mon, 25 Feb 2002, Jacek R. Ambroziak wrote:
> 
> > The new xsltc.jar with several bugs removed
> > (dbonerow performance, alphabetize, Cocoon use of Trax)
> > is available from
> >
> > 	www.ambrosoft.com
> >
> > right click/save
> >
> > Since I've indentified some pretty serious errors while working
> > on a few benchmarking cases, my hope is that whole classes
> > of problems will go away.
> >
> > In the process I've noted many opportunities to improve XSLTC;
> > I am saving these for later, concentrating on real bugs first.
> >
> > Soon, I hope, the changes I make will be available in the official
> > Xalan tree.
> 
> ...so what do I have to change in cocoon.xconf then to use xsltc
> with cocoon then?
> --
> Torsten
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
> 


=====
Davanum Srinivas - http://jguru.com/dims/

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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


Re: New XSLTC jar available

Posted by Torsten Curdt <tc...@dff.st>.
On Mon, 25 Feb 2002, Jacek R. Ambroziak wrote:

> The new xsltc.jar with several bugs removed
> (dbonerow performance, alphabetize, Cocoon use of Trax)
> is available from
>
> 	www.ambrosoft.com
>
> right click/save
>
> Since I've indentified some pretty serious errors while working
> on a few benchmarking cases, my hope is that whole classes
> of problems will go away.
>
> In the process I've noted many opportunities to improve XSLTC;
> I am saving these for later, concentrating on real bugs first.
>
> Soon, I hope, the changes I make will be available in the official
> Xalan tree.

...so what do I have to change in cocoon.xconf then to use xsltc
with cocoon then?
--
Torsten


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


New XSLTC jar available

Posted by "Jacek R. Ambroziak" <ja...@yahoo.com>.
The new xsltc.jar with several bugs removed 
(dbonerow performance, alphabetize, Cocoon use of Trax)
is available from

	www.ambrosoft.com

right click/save

Since I've indentified some pretty serious errors while working
on a few benchmarking cases, my hope is that whole classes
of problems will go away.

In the process I've noted many opportunities to improve XSLTC;
I am saving these for later, concentrating on real bugs first.

Soon, I hope, the changes I make will be available in the official
Xalan tree.

To be continued.

--Jacek

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


Re: XSLTC rocks the planet!

Posted by Stefano Mazzocchi <st...@apache.org>.
Tom Amiro - SunSoft PC Networking SPA wrote:
> 
> Stefano,
> 
> Please do file a bug in Bugzilla on the number test.

Ok.

 I know there
> are bugs already on 'trend' and 'alphabetize'. We do run the
> conf tests on XSLTC, but there is a bit of noise, especially
> with html output. 

what do you mean? XSLTMark has a 'normalizing' tool that might help you
there. You might also want to check the 'xml.apache.org/security/'
project which implements an XML canonicalizer that could be helpful to
know if tests are really conformant or not.

> Innocuous diffs in indenting and such case
> fails compared to Xalan. Currently, there are 183 conf tests
> that XSLTC fails. I've triage them many times trying to get
> bugs in on real diffs reflecting true conformance errors.
> Any help would be appreciated.

Ok, I'll try to submit all the bugs I find.

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



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


Re: XSLTC rocks the planet!

Posted by Stefano Mazzocchi <st...@apache.org>.
Tom Amiro - SunSoft PC Networking SPA wrote:
> 
> Stefano,
> 
> Please do file a bug in Bugzilla on the number test.

Ok.

 I know there
> are bugs already on 'trend' and 'alphabetize'. We do run the
> conf tests on XSLTC, but there is a bit of noise, especially
> with html output. 

what do you mean? XSLTMark has a 'normalizing' tool that might help you
there. You might also want to check the 'xml.apache.org/security/'
project which implements an XML canonicalizer that could be helpful to
know if tests are really conformant or not.

> Innocuous diffs in indenting and such case
> fails compared to Xalan. Currently, there are 183 conf tests
> that XSLTC fails. I've triage them many times trying to get
> bugs in on real diffs reflecting true conformance errors.
> Any help would be appreciated.

Ok, I'll try to submit all the bugs I find.

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



Re: XSLTC rocks the planet!

Posted by Tom Amiro - SunSoft PC Networking SPA <to...@Sun.Com>.
Stefano,

Please do file a bug in Bugzilla on the number test. I know there 
are bugs already on 'trend' and 'alphabetize'. We do run the 
conf tests on XSLTC, but there is a bit of noise, especially 
with html output. Innocuous diffs in indenting and such case 
fails compared to Xalan. Currently, there are 183 conf tests 
that XSLTC fails. I've triage them many times trying to get 
bugs in on real diffs reflecting true conformance errors. 
Any help would be appreciated.

Tom
 
Stefano Mazzocchi wrote:
> 
> 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.
> <st...@apache.org>                             Friedrich Nietzsche
> --------------------------------------------------------------------

-- 
 Tom Amiro -- SQA Engineer
 Sun XML Technology Development
 voice: 781-442-0589 Fax: 781-442-1437
 eMail: tom.amiro@.sun.com

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


New XSLTC jar available

Posted by "Jacek R. Ambroziak" <ja...@yahoo.com>.
The new xsltc.jar with several bugs removed 
(dbonerow performance, alphabetize, Cocoon use of Trax)
is available from

	www.ambrosoft.com

right click/save

Since I've indentified some pretty serious errors while working
on a few benchmarking cases, my hope is that whole classes
of problems will go away.

In the process I've noted many opportunities to improve XSLTC;
I am saving these for later, concentrating on real bugs first.

Soon, I hope, the changes I make will be available in the official
Xalan tree.

To be continued.

--Jacek

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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


Re: XSLTC rocks the planet!

Posted by Tom Amiro - SunSoft PC Networking SPA <to...@Sun.Com>.
Stefano,

Please do file a bug in Bugzilla on the number test. I know there 
are bugs already on 'trend' and 'alphabetize'. We do run the 
conf tests on XSLTC, but there is a bit of noise, especially 
with html output. Innocuous diffs in indenting and such case 
fails compared to Xalan. Currently, there are 183 conf tests 
that XSLTC fails. I've triage them many times trying to get 
bugs in on real diffs reflecting true conformance errors. 
Any help would be appreciated.

Tom
 
Stefano Mazzocchi wrote:
> 
> 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.
> <st...@apache.org>                             Friedrich Nietzsche
> --------------------------------------------------------------------

-- 
 Tom Amiro -- SQA Engineer
 Sun XML Technology Development
 voice: 781-442-0589 Fax: 781-442-1437
 eMail: tom.amiro@.sun.com