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

Modules Perl Discussion :

Probleme de perf avec File::Find::name;


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 60
    Points
    60
    Par défaut Probleme de perf avec File::Find::name;
    Bonjour,

    j'aimerais savoir si il existe un technique ou une astuce pour ameliorer les perfs de cette commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $FileDir = $File::Find::name;
    car j'ai po mal de repertoire a analyser et cela prends plus de deux min pour finir dc j'aimerais savoir si il n'existent po un truc pour le faire plus rapidement car tres long j'entends dejà les utlisateurs oui ton soft c de la ...
    po le temps d'attendre etc....

    Help me....

    Merci d'avance




    Ludo
    -------------------------------------------
    Happy c++ bon courage a tous
    PENSEZ AU TAG RESOLU :-)
    -------------------------------------------

  2. #2
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Donne ton code en entier stp... L'optimisation doit venir de là car les modules sont en général tres bien codés...
    MacOS 10.5 / Ubuntu / C / Python / R
    Pensez au tag résolu

  3. #3
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 60
    Points
    60
    Par défaut
    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
    17
    18
    19
    20
    21
    22
     
    for($Index1=0;$Index1<$#CXXINCLUDES_ARR+1;$Index1++)
        {
        my $SourceDir = substr($CXXINCLUDES_ARR[$Index1],2);
        ### Seek all the files in the directory give in parameter
        find(\&GetCorrectFilesNames, $SourceDir);
        @FilesDirTmp = sort @FilesDirTmp;
        push (@FilesDir,@FilesDirTmp);
        }
      my %hash;
      foreach my $e (@FilesDir) { $hash{$e}++; }
     
     
    sub GetCorrectFilesNames
    {
    $FileDir = $File::Find::name;
    if ( /.cpp/)
      {
      $FileDir = dirname($FileDir);
      push(@FilesDirTmp, $FileDir);
      }
    }
    je crois pas que cela vient d'ailleurs car qd je teste pas a pas il y'a un laps de temps tres long apres le Find::name dc probleme vient d'ici..

    ludo
    -------------------------------------------
    Happy c++ bon courage a tous
    PENSEZ AU TAG RESOLU :-)
    -------------------------------------------

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu es sûr que tu veux rechercher les fichiers .cpp y compris dans les sous-répertoires ? (ton commentaire laisse à penser que ce n'est pas le cas)

    Essaies déjà ça :
    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
     
    my %hash;
    for($Index1 = 0; $Index1 < $#CXXINCLUDES_ARR+1; $Index1++)
    {   
        ### Seek all the files in the directory give in parameter
        find(\&GetCorrectFilesNames, substr($CXXINCLUDES_ARR[$Index1],2));
    }
     
    sub GetCorrectFilesNames
    {
        if ( substr $_, -3 eq 'cpp' )
        {
            $hash{$File::Find::dir}++;
        }
    }
    Ca devrait aller (un peu) plus vite.

    --
    Jedaï

  5. #5
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 60
    Points
    60
    Par défaut
    sinon oui oui c ce que je ve je vais tester

    a tout de suite
    -------------------------------------------
    Happy c++ bon courage a tous
    PENSEZ AU TAG RESOLU :-)
    -------------------------------------------

  6. #6
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 60
    Points
    60
    Par défaut
    ca marche pas vraiment c meme plus long sur ma machine dc merci qd meme pour ton aide!!! moiuahh ca tourne 2 min avec mon code et 2min 30 avec le tien je sais pas pourkoi je ne peux pas t'expliquer!!


    Merci Ludo

    -------------------------------------------
    Happy c++ bon courage a tous
    PENSEZ AU TAG RESOLU :-)
    -------------------------------------------

  7. #7
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    C'est étrange, à priori mon code fait moins de choses inutiles que le tien...
    Peut-être devrais tu remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ( substr $_, -3 eq 'cpp' )
    par :
    dans ma solution, et revérifier. (si c'est toujours plus long, c'est que y a un phénomène étrange)

    --
    Jedaï

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

Discussions similaires

  1. [file::find] probleme avec les arguments obtenus
    Par achraf.z dans le forum Langage
    Réponses: 12
    Dernier message: 20/03/2012, 10h40
  2. Réponses: 1
    Dernier message: 10/06/2009, 13h05
  3. Probleme de perfs avec utilisation d'un type
    Par Snipah dans le forum SQL
    Réponses: 5
    Dernier message: 07/04/2009, 16h29
  4. [Data] probleme avec getHibernateTemplate.find()
    Par Tauros_king dans le forum Spring
    Réponses: 2
    Dernier message: 22/03/2007, 11h05
  5. [VC++] probleme avec le Pipe Named
    Par ksoft dans le forum Visual C++
    Réponses: 2
    Dernier message: 21/07/2006, 18h34

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