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

Format d'échange (XML, JSON...) Java Discussion :

Temps de traitement inquiétant sur fichier volumineux [SAX]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Points : 491
    Points
    491
    Par défaut Temps de traitement inquiétant sur fichier volumineux
    Bonjour à tous,

    j'ai développé une application permettant de valider des fichiers XML en fonction de leur DTD. J'ai utilisé le parser SAX pour y arriver.

    Aucun soucis rencontré avec des fichiers XML de petite taille. Pour finaliser mes tests je tente de valider un fichier XML volumineux (5,22 Mo). Il correspond à 1053 cas. Un cas exécuté tout seul dans son fichier XML ne prenait qu'une seconde à passer. Ca va faire deux heures que mon fichier de 5,22 Mo est en cours de validation. Je m'inquiète de ce temps de traitement qui me semble anormalement long, je m'attendais à un bon 1/4 d'heure, pas à autant de temps.

    Comment ça se passe pour vous sur de gros fichiers?

    Cordialement

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    déjà, fais un profiling pour voir dans quelle partie du code que cela prend du temps et sûrement de la ressource
    Par ailleurs, peut être aussi que tu devrais nous montrer un peu de code pour qu'on puisse avoir une idée ... car si cela se trouve, c'est ton code qui n'est pas bien adapté pour les gros fichiers.
    Cordialement,

  3. #3
    Membre confirmé Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Points : 491
    Points
    491
    Par défaut
    4 heures plus tard mon fichier n'est toujours pas finit de valider.

    Excuse moi Paissad mais tu veux dire quoi par profiling?

    voici m'a méthode de validation, elle se situe dans une classe qui hérite de la classe File.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    private void validation(boolean withDTD) throws SAXException, SAXParseException, ParserConfigurationException, IOException, DTDNotFoundException{
    		SAXParserFactory factory = SAXParserFactory.newInstance();
    		factory.setValidating(withDTD);
    		factory.setNamespaceAware(true);
     
    		SAXParser parser = factory.newSAXParser();
     
    		XMLReader reader = parser.getXMLReader();
    		reader.setErrorHandler(new SimpleErrorHandler());
    		try{
    		reader.parse(new InputSource(this.getAbsolutePath()));
    		} catch (FileNotFoundException e){
    			throw new DTDNotFoundException();
    		}
    	}

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    je ne trouve rien de choquant niveau perfs, tu pourrais attacher le fichier?

  5. #5
    Membre confirmé Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Points : 491
    Points
    491
    Par défaut
    Je ne pouvais pas transmettre le fichier, les données comportées sont critiques. Mais j'ai finis par solutionner le problème, en réadaptant mon code ailleurs, la validation n'était pas responsable, juste un bout de code mal développé, n'ayant pas tellement d'expérience j'ai mal analysé mon problème. Désolé.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 566
    Points : 21 632
    Points
    21 632
    Par défaut
    Citation Envoyé par Kihmé Xs Voir le message
    Je ne pouvais pas transmettre le fichier, les données comportées sont critiques.
    Rappel : dans ces cas-là il suffit de faire un autre fichier, qui lui ne contient pas de données critiques, mais qui a le même problème, et de nous donner ça à la place.
    Méthode scientifique niveau zéro.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traitement basique sur fichier xml avec python
    Par raphael75015 dans le forum Général Python
    Réponses: 11
    Dernier message: 22/05/2014, 15h44
  2. [Upload] droits sur fichier temp
    Par SpaceFrog dans le forum Langage
    Réponses: 1
    Dernier message: 14/01/2008, 13h08
  3. [XSLT] Appliquer un traitement xslt sur un fichier XML distant
    Par mabig dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/03/2006, 09h38
  4. fichier temp qui se crée sur le serveur ....
    Par vbcasimir dans le forum Langage
    Réponses: 4
    Dernier message: 03/11/2005, 09h53

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