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

Langages de programmation Discussion :

[Bash] et [Perl] - le plus rapide pour parcourir un fichier ?


Sujet :

Langages de programmation

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 46
    Points : 40
    Points
    40
    Par défaut [Bash] et [Perl] - le plus rapide pour parcourir un fichier ?
    Bonsoir à toutes et à tous.

    J'ai un petit soucis.

    J'ai un fichier texte très important en taille (90 Mo soit 172 000 lignes).

    Je fais un contrôle syntaxique de ce fichier et donc j'analyse chaque ligne de ce fichier :
    -> à la fois la ligne en elle-même (pas de symbole de commentaire, un certain nombre de champ nécessaire)
    --> et les champs qu'elle contient (numérique, date etc...)

    Pour l'instant, pour le contrôle, je parcourais le fichier avec bash et je passais chaque ligne en paramètre d'un script perl qui s'occupait de les analyser.

    Cependant, je me rends compte que c'est trèèès lent. Aussi me demandais comment grappiller du temps par-ci par-là, et si j'avais bien fait mon script :

    --> Vaut-il mieux lancer un script perl qui va lui-même parcourir un fichier texte et analyser chaque ligne ?
    --> Ou plutôt lancer un script bash qui parcourt lui-même et analyse chaque ligne ?
    --> Ou plutôt lancer un script bash qui boucle et qui va appeler un script perl qui va analyser la ligne ? (<-- ma méthode)

    Merci d 'avance pour votre aide.

    Cdt.

    Bahan

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Perl.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bahan_auboulot Voir le message
    --> Vaut-il mieux lancer un script perl qui va lui-même parcourir un fichier texte et analyser chaque ligne ?
    Oui je pense que c'est la meilleure solution, tu auras moins d'appels système, et tu n'auras qu'un seul code à maintenir.

    Le parcours de fichiers avec Perl est très simple, et une fois l'expression régulière compilée à la première exécution, les appels suivants en sont accélérés.

    Dans ta méthode, l'expression régulière (car j'imagine que tu en utilises une) est compilée à chaque appel de ton script perl, soit une fois par ligne ( 172 000 foid donc...). C'est effectivement très long.

    Mais bon, tout ça, GnuVince te l'a déjà dit

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Merci beaucoup pour vos réponses.

    Cdt.

    Bahan

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

Discussions similaires

  1. Y-a-t-il plus rapide pour enlever les accents ?
    Par Bruno13 dans le forum Langage
    Réponses: 48
    Dernier message: 12/05/2023, 11h24
  2. Y-a-t-il plus rapide pour enlever les mots vides ?
    Par Bruno13 dans le forum Delphi
    Réponses: 33
    Dernier message: 26/07/2007, 17h03
  3. [XHTML] Moyen plus rapide pour mettre mes pages en XHTML
    Par Linoa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/08/2005, 17h46
  4. Algo le plus rapide pour trouver une répétition ?
    Par AsmCode dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/07/2005, 00h26
  5. Réponses: 16
    Dernier message: 19/05/2005, 16h20

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