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 C++ Discussion :

Consommation mémoire d'un istream.read()


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut Consommation mémoire d'un istream.read()
    Bonjour à tous,

    Je lis plusieurs fichiers qui ont des tailles assez énorme (on parle de plusieurs dizaines de Go) bloc par bloc. Par exemple, je récupère un sous-bloc à l'intérieur de 50Mo avec un seekg et un read.
    J'ai été surpris de voir sous Linux que cette action faisait que le programme demandait un peu plus que la taille réelle du fichier (par exemple, si le fichier fait 20Go, j'ai une consommation virtuelle de 21Go). Est-ce un comportement connu/reconnu/avec lequel il faut faire car pas de solution ?

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Je ne sais pas si c'est un comportement connu/reconnu mais je pense qu'on doit pouvoir jouer avec les streambuffer pour varier le comportement. Non ?

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Aucune idée... Ce n'est pas problématique en soit, mais c'est gênant de voir autant de place consommée (pas vraiment consommée en plus) qui ne se libère pas par la suite

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    J'ai déjà vu de tels problèmes mais jamais entendu parler d'une solution. Tu ferais peut-être mieux de demander aussi sur comp.lang.c++.moderated pour le coup, sait-on jamais.

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    C'est peut être lié à la gestion de la mémoire Linux ? Il ne la récupère peut être pas tant qu'il n'en n'a pas besoin ? Du coup, ça n'aurait pas forcément de sens de chercher une solution C++.
    Ou as-tu vraiment identifié cette surconsommation comme étant liée au buffer du flux ?

Discussions similaires

  1. Consommation mémoire avec ImageIO.read
    Par Invité dans le forum Wicket
    Réponses: 4
    Dernier message: 18/04/2011, 10h23
  2. [TStringGrid] Consommation mémoire
    Par spender dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/03/2006, 21h48
  3. [Consommation mémoire] Quoi utiliser pour trouver?
    Par doudine dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 25/01/2006, 13h50
  4. Réponses: 4
    Dernier message: 09/11/2005, 13h32
  5. mémoire peut pas etre "read"
    Par zhoom dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 11h56

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