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

C Discussion :

Opération sur (gros) fichier


Sujet :

C

  1. #1
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut Opération sur (gros) fichier
    Bonjour,
    Je dois traiter (ajout - modification - tris - supression) des fichiers textes aillant une taille de plusieurs Mo (jusqu'à 50).
    La gestion de fichier aussi gros est trop gourmande en ram.
    J'ai donc pensé divisé le fichier en plusieurs autre fichier (10 fichiers de 5Mo) mais du coup ça devient très lent ^^ (accès disque plus nombreux, division du fichier, reconstitution du fichier une fois le traitement fini ect).

    J'aimerai savoir quel sont les possibilités me permettant d'avoir le meilleur rendu rapidité/ram possible.
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Faire du mapping. Ca ira plus vite d'accèder aux données en mémoire vive que sur disque dur.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    ca depend sous quelle plateforme tu es..

    Sous unixoide, des outils tout faits et rapides existent pour des fichiers "plats" (sort par exemple pour le tri).

    De plus, une petite routine de positionnement par recherche dychotomique sera rapide...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonjour,

    sloshy écrit :
    Bonjour,
    Je dois traiter (ajout - modification - tris - supression) des fichiers textes aillant une taille de plusieurs Mo (jusqu'à 50).
    La gestion de fichier aussi gros est trop gourmande en ram.
    J'ai donc pensé divisé le fichier en plusieurs autre fichier (10 fichiers de 5Mo) mais du coup ça devient très lent ^^ (accès disque plus nombreux, division du fichier, reconstitution du fichier une fois le traitement fini ect).

    J'aimerai savoir quel sont les possibilités me permettant d'avoir le meilleur rendu rapidité/ram possible.
    Ben c'est pas très précis comme information sur vos fichiers textes. Que fait votre application, laissez le code pour y voir mieux...

    Salut.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Citation Envoyé par sloshy Voir le message
    Bonjour,
    Je dois traiter (ajout - modification - tris - supression) des fichiers textes aillant une taille de plusieurs Mo (jusqu'à 50).
    La gestion de fichier aussi gros est trop gourmande en ram.
    J'ai donc pensé divisé le fichier en plusieurs autre fichier (10 fichiers de 5Mo) mais du coup ça devient très lent ^^ (accès disque plus nombreux, division du fichier, reconstitution du fichier une fois le traitement fini ect).

    J'aimerai savoir quel sont les possibilités me permettant d'avoir le meilleur rendu rapidité/ram possible.
    et si tu faisais du multi-threading sur tes 10 fichiers de 5 Mo. Je pense que le traitement de tous tes fichies peut se faire en parallèle => gain de temps...

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par salseropom Voir le message
    et si tu faisais du multi-threading sur tes 10 fichiers de 5 Mo. Je pense que le traitement de tous tes fichies peut se faire en parallèle => gain de temps...
    Sur un seul disque, non... La ressource est unique tout est sérialisé...
    Sur 2 disques placés sur des bus différents, oui, le traitement est plus rapide, car le parallélisme est total.
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Sur un seul disque, non... La ressource est unique tout est sérialisé...
    Sur 2 disques placés sur des bus différents, oui, le traitement est plus rapide, car le parallélisme est total.
    ah oui c'est vrai ça : j'avais oublié de pensé que certes il faut plusieurs processeurs mais qu'il faut aussi plusieurs disques sur des bus différents.

    Je ne l'oublierai pas.

    Merci.

  8. #8
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Je vous remercie à tous pour vos réponses.

    Pour répondre, l'application doit être portable.
    Je n'ai pas de codes sur les opérations actuellements puisque je ne vais pas comment le concevoir
    L'application fera du de l'ajout - modification - tris - supression d'informations dans le fichier. je je vois pas quoi dire de plus ? si vous avez une question précise n'hésitez pas.
    L'application est destinée grand publique donc je ne peux pas imposer la contraire de plusieurs disque.

    Néanmoins, le gain de temps serait il conciderable dans le cas ou je couperais le fichier en 5 plus petit, de tout mapper en mémoire et de faire gerer chaque fichier par un processus unique plutot qu'un gros fichier par un seul processus?

    si vous avez d'autre question ou remarque, elles sont les bienvenues.
    PS: je m'excuse des réponses aussi lente, mais le net est devenu une ressource rare de pars chez moi (merci le FAI).
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par sloshy Voir le message
    Je dois traiter (ajout - modification - tris - supression) des fichiers textes aillant une taille de plusieurs Mo (jusqu'à 50).
    Citation Envoyé par sloshy Voir le message
    L'application est destinée grand publique donc je ne peux pas imposer la contraire de plusieurs disque.
    euh !!!!

    Primo, au depart j'avais lu 50 Go.. 50 Mo, c'est rien et les operations vont vite la dessus...

    Ensuite, je suis comme les autres, on est dans le flou en ce qui concerne tes demandes...

    "Ce qui se concoit bien s'enonce clairement"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

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

Discussions similaires

  1. Opérations sur plusieurs fichiers
    Par arnest dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/03/2008, 11h27
  2. Réponses: 5
    Dernier message: 09/01/2008, 20h30
  3. Opération sur un fichier de log
    Par bebert49 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 26/04/2007, 11h04
  4. Opération sur un fichier XML
    Par espadon1 dans le forum Modules
    Réponses: 1
    Dernier message: 10/06/2006, 10h25
  5. [débutant] Opération sur un fichier XML
    Par espadon1 dans le forum Modules
    Réponses: 5
    Dernier message: 31/05/2006, 11h38

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