-
Java, XSL et mémoire
Bonjour,
je dois tester la quantité de mémoire (RAM) utilisée par les règles d'une feuille de style XSL (dans le but de générer des documents PDF via FOP).
N'ayant pas trouvé d'outils sur le Web, j'en arrive à devoir créer des classes Java. Aussi, je n'ai aucune idée de la démarche à suivre ou des paquetages à mettre en oeuvre.
Si quelqu'un pouvait m'aiguiller sur ce sujet ... merci.
-
Pour "évaluer" la quantité de mémoire "retenue" par une classe tu peux le faire à partir d'un heap dump et d'outils d'analyse comme Memory Analyzer, JVisualVM, YourKit, etc.
-
Bonjour,
j'ai jeté un coup d'oeil à Memory Analyzer. Cet outil semble impécable pour tester des applications Java, mais existe t-il un outils équivalent lorsque l'on part de tests unitaires, ou Memory Analyzer peut-il prendre en charge façilement des tests unitaires ?
-
En général on génère un heap dump et ensuite on analyse à posteriori.
Autrement Java offre un service JMX qui permet de le faire, idem via l'API de YourKit. Il suffit donc d'appeler ces services dans ton test unitaire pour générer le HeapDump au bon moment.
-
Bonjour,
j'ai commencé à découvrir ces outils, mais mes connaissances ne sont pas assez approfondies pour savoir quels outils permet de tester la quantité de mémoire (RAM) et le temps utilisés par CHACUNE des règles d'une feuille de style XSL.
En vous remerciant pour vos suggestions ;)
-
Le problème c'est que les objets ne présentent pas sous la forme d'un arbre mais d'un graphe.
Autrement dit, l'objet qui va représenter une règle de calcul va sûrement partager des données avec l'objet qui représente une autre règle. Dans ce cas, comment calculer la mémoire retenue par chacune des règles ?
Cela suppose également qu'il y ait bien un objet distinct pour chaque règle.
Sinon j'essaierai avec un des outils et du langage OQL de chercher les instances de la classe qui représente une règle de calcul et de demander à l'outil de calculer la taille retenue. Cependant la taille renvoyée dépendra de son algorithme ...