|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 173 ![]() |
Bonjour,
j'ai des problèmes de performances quand je génère des rapports, mes data source sont des fichiers XML assez grands (environs 600ko, plus de 14'000 lignes), birt y met plusiers minutes pour produire un rapport. Quand je fait une requête avec un data source plus petit (quelques centaines de lignes et quelques ko) le rapport est rapide (moins d'une dizaine de secondes). avez-vous déjà eu le même genre de problème? peut-on changer le parser XML de birt? si oui, comment? Merci Fred |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Question bête !
Tu fais des traitements de tes données à l'intérieur de ton état ? |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 173 ![]() |
Non, pas de traitement de données ni rien.
la question ne me parraît pas si bête que ça.. je croyais qu'en lui spécifiant le xpath des données intéressées il irait les prendre directement sans faire le parsing de tout le fichier.. ben non. il parse tout. en plus, un rapport est composé de plusieurs sous-rapport que je réuni. birt relit tout le fichier xml pour chaque sous rapport... si j'ai 10 sous-rapport il parsera 10 fois le fichier! |
|
|
00
|
|
|
#4 | |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Citation:
Lorsque tu passes les mêmes données à partir d'un DataSource Java directement, est-ce plus rapide ? |
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 173 ![]() |
ah, je ne l'ai pas trouve' bête
c-a-d via un objet java? je n'ai pas encore teste' cette solution.. j'allais justement essayer mais je sais pas trop comment faire, j'ai pas vu ce type de selection a' la creation de data source. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 658 ![]() |
Le parsing XML de Birt se fait en XPath.
J'ai déjà eu ce type de problème sur un autre projet (rien à voir avec birt), je faisait tout en XPath et j'avais des perfs pitoyables, en faisant des requêtes DOM plus de soucis. Je pense que ton problème viens des sous-rapports, ils sont considérés comme des rapports indépendant donc avec des source de données recalculer à chaque fois. Si pour chacun de tes sous rapports tu utilises le même XML essaie de les fusionner en un seul rapport et la le fichier XML ne devrait être parsé qu'une seule fois, mais il risque d'y avoir encore des lenteurs si tu as un gros volume de données. Autre solution utiliser une script datasource qui parse ton fichier de façon optimum et que tu fournit à ton rapport
__________________
Gagnez une place pour Devoxx France 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com