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 Perl Discussion :

[langage] Optimiser la lecture d'un fichier


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut [langage] Optimiser la lecture d'un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #######1ere partie
    open(FICHIER,"$fichier");
    undef $/;
    $donnee = <FICHIER>;
    close(FICHIER);
    #######2 ieme partie
    while ($donnee =~ /^(.*)\t(.*)\t(.*)\t(.*)\n+/gm)
    {
    	$hashnom1nom2{$1} = $2;
    	$hashnom1nom2{$2} = $2;
    	$hashnom2info1{$2}=$3;
    	$hashnom2info2{$2}=$4;
    }
    Bonjour je dois lire un fichier de 329 000 lignes, il met 5 min pour la première partie et 4 h pour la seconde. 4 h c'est long alors si vous pouvez m'aider je vous en remercie d'avance.

    PS : je suis sous UNIX.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 23
    Points : 27
    Points
    27
    Par défaut Solution 1 et 2
    Hallu,

    Soit ,tu changes de langage. Une fois j'ai fais deux scripts : un sh et un perl qui parcouraient des gros fichiers.
    Et bien le sh a mis 1 heure alors que le perl a mis 5 heures.Pourtant on m'avait juré du contraire au point de vue des perfs.

    Soit , Si tu veux garder ton perl Il faut que tu manipules des buffers de 100 lignes de ton fichier au lieu de manipuler tes 300 000 lignes dans ton algo.
    Hi You,
    My dream team, Steph dans l'tuyau , Leon Tom and p'tit bouchon.Oh Ouioui !!!
    Please , keep cool with me and call me by my name.
    --> Haiti

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mars 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    salut

    tu as essayé ligne à ligne?

    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
     
    open(FICHIER,"$fichier");
     
    while(<FICHIER>)	{
     
    	my $donnee = $_;
    	$donnee =~ /^(.*)\t(.*)\t(.*)\t(.*)/;
     
       $hashnom1nom2{$1} = $2;
       $hashnom1nom2{$2} = $2;
       $hashnom2info1{$2}	=	$3;
       $hashnom2info2{$2}	=	$4;
    }
     
    close(FICHIER);
    Christophe.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 53
    Points : 64
    Points
    64
    Par défaut
    etant donne la taille de ton fichier, la solution de Christophe_T me semble plus logique ...
    tu devrais essayer !
    les fautes d'orthographe de ce texte sont sous license GPL. Merci d'informer le proprietaire de la faute en cas de modification.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    OK je vais essayer ça et sinon j'essaierais peut être d'y mettre un autre langage (ce qui étant donné mon niveau en informatique risque d'être l'escalade du mont Everest mais bon on verra).

    Je vous remercie tous. Bonne journée

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

Discussions similaires

  1. Optimisation de lecture de lourds fichiers CSV
    Par kidpaddle2 dans le forum C++
    Réponses: 27
    Dernier message: 21/06/2010, 19h55
  2. [ksh]Optimiser la lecture de gros fichiers gz.
    Par xodblux dans le forum Linux
    Réponses: 5
    Dernier message: 09/12/2008, 23h03
  3. Optimisation de lecture de gros fichier
    Par uriotcea dans le forum Windows
    Réponses: 3
    Dernier message: 23/11/2006, 19h00
  4. [Perf] Optimiser la lecture d'un fichier de taille > 2 m
    Par sacofan dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 22/07/2005, 13h25
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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