Cliquez ici.
Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.

 
Cliquez ici.

dev@xmlfr.org : liste de discussion des développeurs du site XMLfr

[dev@xmlfr.org] [Cocoon] Tests de performance RSS (premiers résultats)

From: Eric van der Vlist (vdv@dyomedea.com)
Date: 04/01/2004 - 18:31


Bonsoir,

Je viens de "commiter" une nouvelle version de xmlfr-beta qui comprend
un répertoire testant les performances de quelques options permettant de
créer des canaux RSS, voir :

http://dev.xmlfr.org/cgi-bin/viewcvs.cgi/xmlfr-beta/webapp/tests/rss/

Ce ne sont que de premiers essais qui demandent à être affinés (je
compte sur votre aide!) mais je voulais également tester la méthode elle
même inspirée de "fit" dont j'ai déjà parlé sur cette liste.

J'ai cherché à tester :

      * XSLT 1.0 avec le transformer par défaut (Xalan).
      * XSLT 1.0 avec Saxon
      * XSLT 2.0 avec Saxon
      * STX

Pour pouvoir effectuer ces tests chez vous, il faut donc installer Saxon
(il suffit de recopier saxon7.jar dans le répertoire Cocoon
build/webapp/WEB-INF/lib/).

Pour chacune de ces options, j'ai testé à la fois l'utilisation du
générateur "dir" et celle du générateur "xpathdir" qui permet d'agréger
au répertoire les fragments de documents dont nous avons besoin.

Cela fait donc 8 tests auxquels j'ai ajouté l'exécution des générateurs
"dir" et "xpathdir" seuls pour juger de leur performance.

Les transformations XSLT utilisées pour XSLT 1.0 sont les mêmes pour
Xalan et Saxon.

Les transformations XSLT 2.0 sont de strictes adaptations de leurs
équivalents XSLT 1.0, le but dans un premier temps étant d'utiliser la
fonction fn:escape-uri dont nous avons besoin pour transformer les mots
clés en URIs. Il semble y avoir un bug dans Saxon à ce niveau (à
creuser) et je n'ai pas pu utiliser cette fonction pour le moment.

Il serait intéressant de voir si l'on peut optimiser ces transformations
en utilisant des fonctionnalités propres à XSLT 2.0.

Les transformations STX sont probablement écrites de manière "naïve" :
ce sont les premières transformations que j'écris avec ce langage et il
serait également intéressant de les optimiser.

La liste des tests est disponible à la page :

http://beta.xmlfr.org/tests/rss/

Cette page donne accès à ces tests de manière indépendante. Par exemple,
http://beta.xmlfr.org/tests/rss/stx+dir vous renverra le canal RSS
constitué par le générateur "dir" et STX. Le temps d'exécution est alors
donné en commentaire à la fin du canal RSS. A noter que le canal RSS est
envoyé avec un type mime "text/html" pour que ce commentaire puisse être
ajouté.

Plus intéressant, il est possible d'obtenir une synthèse de ces tests à
la page http://beta.xmlfr.org/tests/rss/Tous-les-tests (attention, cette
page exécute pas mal de tests et prend environ 3 minutes ; merci de ne
pas en abuser pour ne pas surcharger le serveur).

Pour chaque option, un "chauffage" du système est assuré par une
exécution pour rien, cinq tests sont exécutés et l'ensemble des temps
d'exécution sont affichés ainsi que les temps minimum, maximum et moyen
(en ms).

Le résultat que je viens d'obtenir sur mon navigateur est le suivant :

Test warm mesure mesure mesure mesure mesure min moyenne max
dir 63 67 72 71 65 63 63 68 72
xpathdir 3506 2674 2932 2818 2462 3506 2462 2878 3506
xslt+dir 3644 3295 3277 3042 2565 3644 2565 3165 3644
saxon+dir 2953 2584 2428 2329 2386 2953 2329 2536 2953
saxon2+dir 1989 2434 1945 2476 2342 1989 1945 2237 2476
stx+dir 5836 5845 6316 5839 5926 5836 5836 5952 6316
xslt+xpathdi 3752 3236 2771 2708 3279 3752 2708 3149 3752
saxon+xpdir 2899 2292 2267 2279 2302 2899 2267 2408 2899
saxon2+xpdir 2338 2455 3057 2805 2383 2338 2338 2608 3057
stx+xpathdir 3773 3668 4406 3845 3687 3773 3668 3876 4406
  
Ils semblent confirmer que Saxon est légèrement plus rapide que Xalan,
que la même transformation prend à peu près le même temps en mode XSLT
1.0 et XSLT 2.0 et que les utilisations des générateurs "dir" et
"xpathdir" sont sensiblement équivalentes.

La grosse surprise vient pour moi des performances très médiocres de STX
qui en principe aurait du être plus rapide que XSLT sur ce typ ede
transformation.

Je ne sais pas s'il faut mettre cela sur le compte de la maturité des
implémentations XSLT ou sur une écriture maladroite des transformations
STX et je compte poser la question sur la liste de discussion STX.

Enfin, je voudrais insister sur la manière de décrire les tests. Dans le
document test.xml, ils sont déclenchés par :

<lt:testSiteMap except="Tous-les-tests" warm="1" count="5"/>

qui demande de tester tout les "match" de la sitemap sauf
"Tous-les-tests" (et "" qui est implicitement exclus) avec 1 exécution
de chauffage et exécutions.

Le reste est réalisé par transformation XSLT :

http://dev.xmlfr.org/cgi-bin/viewcvs.cgi/xmlfr-beta/webapp/tests/rss/tests.xsl

Ce principe de description des tests intégrés au site est emprunté à fit
(http://fit.c2.com/), un framework permettant de décrire des tests dans
des tables HTML et de remplacer leur description par leur résultat après
exécution.

Ce principe me semble très prometteur et je verrais d'un bon oeil
l'utilisation d'un "fit transformer" Cocoon pour intégrer des tests
unitaires au site XMLfr.

Eric

-- 
Freelance consulting and training.
                                            http://dyomedea.com/english/
Upcoming XML schema languages tutorial:
 - Santa Clara  -half day- (15/03/2004)        http://masl.to/?J24916E96
--
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
--

-- Devenez redacteur <XML>fr et contribuez au developpement du xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "dev@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie au developpement du site XMLfr.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a dev-request@xmlfr.org (mailto:dev-request@xmlfr.org?Subject=unsubscribe)



Archive générée par hypermail 2.1.3 le 28/01/2004 - 09:12 UTC

webmaster@xmlfr.org

 

dev@xmlfr.org

Liste de discussion de la communauté des développeurs de XMLfr.

Cette liste publique est dédiée aux discussions concernant la conception et le développement technique du site XMLfr.



Cliquez ici.
Cliquez ici.

Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org