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

Java Discussion :

[Stratégie] Réduire le temps de lecture de fichier et serialisation


Sujet :

Java

  1. #41
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut
    Citation Envoyé par Napalm51 Voir le message
    Juste pour information, ton programme met combien de temps pour parser les 54k lignes ?
    Pour tout le traitement (lecture, cosntruction des objets et ecriture) il doit mettre 40 a 50secondes, contre +24h avant

    Citation Envoyé par Bassim
    Je pense qu'il y a moyen de factoriser tout ça par une classe plus générale
    peut être un problème de conception !
    Bein je ne vois pas coment si on ne sait pas combien de champs on y trouvera et surtout lesquels..

  2. #42
    Membre éclairé Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Points : 695
    Points
    695
    Par défaut
    Ceci est juste un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Client {
    private String nom;
    private String prenom;
    ...
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class ClientA extends Client {
    private String pseudo;
    private String numeroTelephone;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class ClientB extends Client {
    private String Alias;
    private String numPortable;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    List<Client> clients = new ArrayList<Client>();
    ClientA c1 = new ClientA();
    ClientB c2 = new ClientB();
    clients.add(c1);
    clients.add(c2);
    tu pourras créer après une autre classe qui hérite de Client en lui rajoutant d'autres attributs si tu veux.

    Je sais pas si ça réponds à tes besoins.

  3. #43
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut
    Oui je connais les héritages, mais franchement, retoucher le code à chaque nouveau client, ce n'est pas ce qui est demandé. Merci quand même

  4. #44
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kahya Voir le message
    Oui je connais les héritages, mais franchement, retoucher le code à chaque nouveau client, ce n'est pas ce qui est demandé. Merci quand même
    Mais une HashMap n'est pas non plus la meilleure solution car c'est assez couteux en utilisation mémoire (et tu en utilise un très grand nombre). Une HashMap utilise une structure interne pour stocker les données et les retrouver facilement, et cette structure est répété pour chaque ligne dans ton cas...

    Un simple tableau lié à une classe décrivant les champs par index devrait amplement suffire à conserver la généricité sans surcharger la mémoire...


    a++

  5. #45
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Points : 301
    Points
    301
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Mais une HashMap n'est pas non plus la meilleure solution car c'est assez couteux en utilisation mémoire (et tu en utilise un très grand nombre). Une HashMap utilise une structure interne pour stocker les données et les retrouver facilement, et cette structure est répété pour chaque ligne dans ton cas...

    Un simple tableau lié à une classe décrivant les champs par index devrait amplement suffire à conserver la généricité sans surcharger la mémoire...


    a++

    Et oui, car tu n'as fait que déplacer le problème.
    D'ici peu, tu auras un trop grand nombre de lignes, et tu ne pourras plus allouer de mémoires supplémentaires à la JVM, donc tu seras bloquée.

    Je pense franchement que tu devrais voir à simplifier ton code pour la suite, car même si ca tourne correctement maintenant, par la suite, ca pourrait ne plus fonctionner et te bloquer.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réduire le temps de chargement des fichiers sons
    Par j-jorge dans le forum Audio
    Réponses: 6
    Dernier message: 08/10/2013, 19h41
  2. Lecture de fichier depuis répertoire "Temp"
    Par dubitoph dans le forum Langage
    Réponses: 2
    Dernier message: 06/05/2011, 10h48
  3. [XPATH 1.0] Temps de lecture d'un "gros" fichier XML
    Par Ikki_2504 dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 14/01/2011, 18h27
  4. Temps total de lecture de fichiers depuis le disque dur
    Par Tesing dans le forum Composants
    Réponses: 1
    Dernier message: 05/12/2009, 20h14
  5. Réponses: 2
    Dernier message: 24/04/2007, 22h03

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