IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Le Parser XML de Birt, lent?


Sujet :

BIRT

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut Le Parser XML de Birt, lent?
    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

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Question bête !

    Tu fais des traitements de tes données à l'intérieur de ton état ?

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut
    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!

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Citation Envoyé par FredKéKé
    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!
    La question bête venait de moi.

    Lorsque tu passes les mêmes données à partir d'un DataSource Java directement, est-ce plus rapide ?

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut
    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.

  6. #6
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    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

Discussions similaires

  1. [XML] Parser XML
    Par RobinJulie dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/02/2005, 08h48
  2. Parser XML -> PDF
    Par ebaynaud dans le forum Modules
    Réponses: 2
    Dernier message: 12/10/2004, 14h07
  3. [SAX] NoSuchElementException sur parser XML
    Par iceman dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 17/05/2004, 14h42
  4. parser xml
    Par billout dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/11/2003, 11h08
  5. Parser XML
    Par miloux32 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 18/07/2003, 03h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo