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

Langage Java Discussion :

optimisation du temps de calcul


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut optimisation du temps de calcul
    je travail sur une class qui fait des statistique:
    elle ouvre un bon nombre de fichiers txt et cherche dans ces fichier des caractére (char) que je spécifie a l'avence le truc c'est que ma méthode ouvre le fichier le ligne ligne par ligne (readLine()) et parcoure chaque ligne char par char et fait e comparaison....

    je me rend compte que ça prend ENNORMEMENT de temps.... y'aurait-il pas un moyen de faire ça plus rapidement ???


    si qq a une idée elle est la bienvenu

    merci d'avence !!!!!
    Si on tombe un jour... c'est pour mieux se relever !!
    Take a look

    Mon début de carrière

  2. #2
    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
    Salut,


    Que fait ce calcul exactement ?
    A quoi ressemblent ces fichiers ? Et combien y en a t-il ?

    Que veux-tu dire précisément par "ENNORMEMENT de temps" ?

    Et à quoi ressemble ton code ? As-tu réussi à cibler l'origine des lenteurs ?

    a++

  3. #3
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Si les fichiers sont volumineux, tu peux tenter d'utiliser le package java.nio pour le parcours de ces fichiers. nio est plus performant sur les fichiers importants car il utilise le cache des FS propre à l'OS.
    Ceci n'est qu'une proposition et non une affirmation, en effet sur de petits fichiers, ce package a tendance à être moins rapide que le classique java.io.

    EDIT Si tu lis ligne par ligne, et ce séquentiellement, péréfère un BufferedReader - dont tu ajusteras toi même par essais successifs le volume du buffer - à RandomAccessFile.

  4. #4
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut
    pour un peut pres 40 fichier de 500Ko chaque j'ai bien 30 secondes d'attente, en fait ce qui m'agasse c'est le comparaison char par char.
    ya pas moyen d'éviter ça?
    si par exemple je voulai trouver le nombre de 'e', et le nombre de 'c' dans ce message !!!
    Si on tombe un jour... c'est pour mieux se relever !!
    Take a look

    Mon début de carrière

  5. #5
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Concernant la taille et le nombre de tes fichiers, je ne peux malheureusement rien te promettre, c'est à toi de faire l'essai.
    Sinon pour la recherche de caractères, je vois pas d'autre moyen que la comparaison caractère par caractère. Encore si c'était une chaine de plusieurs caractères dont tu cherchais le nombre d'occurences, je pourrais te proposer un algorithme ( me souviens plus exactement comment il marche ) : celui de "Moris-Pratt" qui accélère les recherches de chaine. Me souviens avoir codé ce truc en C++ lorsque j'étais à encore à l'IUT.

Discussions similaires

  1. optimiser le temps de calcul
    Par leilaleila dans le forum C++
    Réponses: 16
    Dernier message: 29/05/2014, 05h21
  2. [IDL] Optimisation en temps de calcul
    Par Cedric1988 dans le forum Autres EDI
    Réponses: 1
    Dernier message: 23/01/2014, 16h57
  3. Conteneur pour optimisation de temps de calcul
    Par Kaluza dans le forum SL & STL
    Réponses: 5
    Dernier message: 04/04/2010, 00h33
  4. Factorisation des nombres : optimisation du temps de calcul
    Par yoshik dans le forum Général Python
    Réponses: 27
    Dernier message: 21/11/2009, 19h46
  5. optimisation du temps de calcul
    Par deubelte dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/08/2007, 14h31

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