Merci beaucoup Sylvain, tres important pour moi de valider tout ca...
Je conclus que ce n'est pas la dessus que je vais gagner en perf, autant
mettre tout dans des <map:pipeline type="caching"> et laisser cocoon
s'occuper de ce qui est cachable...
Encore 2 questions, toujours dans ma recherche d'optimisation de perf,
il reste XSL:
- dans le "performance tips" je lis : "If you are not using global
variables or parameters this will speeds things up". Je ne sais pas ce
qui est global, je traduis qu'il faut eviter les :
<xsl:variable name="foo1" select="foo1')"/>
<xsl:param name="foo2" select="'foo2'"/>
en gros toute communication avec la sitemap ?
- J'utilise XSLTC, Dois-je mettre <use-store>true</use-store> dans les
declarations pour cacher les XSL compilees ?
Phil
Sylvain Wallez wrote:
philguillard wrote:
Bonsoir,
Je voulais connaitre vos avis/valider ce que je crois comprendre sur
le cache des pipelines :
- Etant sur qu'un pipeline n'est pas cachable (example XSP de base),
je pense qu'il vaut mieux le sortir de la section <map:pipeline
type="caching"> pour une section <map:pipeline type="noncaching">,
pour eviter un check systematique de clefs de cache pour rien.
Le check de clés s'arrêtera au premier composant non cachable, c'est à
dire ici la XSP. Donc on économise un peu de temps d'exécution, bien que
dans ce cas ça ne soir probablement pas sensible.
- Parfois un pipeline n'est pas cachable dans sa globalite mais les
1ers elements le sont. Donc cela vaut la peine d'au moins recuperer ce
qui a ete cache dans les 1eres etapes?
Oui, puisque le pipeline "caching" met en cache l'entrée du premier
composant non cachable, de façon à économiser ce traitement par la suite.
Example l'affichage d'un CForm prepare avant en flow + binding (et
utilisant le form transformer): il reste interessant de cacher pour
recuperer le file generator allant parser le form en lui meme?
Oui, parce que ça permet de conserver le fichier sous forme d'événements
SAX plutôt que de le re-parser.
- Une action par definition effectue une action et n'est donc pas
cachable...
Eh ouais. Je le dis et le redis : la sitemap est composée de 2 types
d'instructions, les structures de contrôles (match, select, act) et les
éléments de pipeline (generate, transform, serialize, et aggregate).
Seuls les éléments de pipeline sont cachables!
- Donc par example il vaut mieux eviter la locale action a l'interieur
d'un pipeline et la mettre a l'exterieur des "match pattern" ?
Ca ne change rien, puisque le pipeline est *toujours* assemblé et les
structures de contrôle sont *toujours* exécutées. En effet, le calcul de
la clé de cache et sa validité ne peuvent être connu que si le pipeline
est connu. Le cache permet de ne pas l'exécuter.
Sylvain
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]