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

Python Discussion :

Gestion de la mémoire par la VM


Sujet :

Python

  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 Gestion de la mémoire par la VM
    Hello,
    Voilà je dois dans mon script remplir une liste avec plusieurs million d'entrée et puis boucler sur cette liste pour faire des tests.
    J'aimerai savoir comment la VM va réagir au niveau de la RAM.
    Est-ce que chaque entrée va être introduite en dur dans la ram? va-t-elle stocker une partie dans un fichier temps et faire petit à petit? va-t-elle "comprendre" que la liste est énorme et qu'elle à le temps d'effectuer la boucle pendant que la liste se rempli?

    bref, merci de me renseigner.
    “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 habitué
    Inscrit en
    Mars 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2003
    Messages : 127
    Points : 149
    Points
    149
    Par défaut
    Si tu a un exemple de code se sera plus facile pour te proposer quelque chose de plus personnalisé

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    remplir une liste avec plusieurs million d'entrée
    D’où proviennent les données avant d’être enregistrées dans la liste ?
    À quoi cela sert-il de construire la liste: est-ce uniquement destiné à fournir le support pour mener les tests ?





    boucler sur cette liste pour faire des tests.
    Boucler comment ? Ligne par ligne ?
    Quelle sorte de tests ?
    Si le test ne porte que sur une ligne à la fois et que les données sont dans un fichier sur disque dur, il est possible et préférable de faire lire le fichier par un itérateur au lieu de créer une liste et d’y lire les données après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    f = open(’fichier.txt’,’r’)
    for line in f:
        test sur line
    Si le test porte sur plusieurs lignes d’affilée, il sera nécessaire de lire des données en nombre suffisant pour englober les lignes qui doivent être traitées ensemble. Cela peut se faire avec f.read(23400) , 23400 étant le nombre d’octets lus à chaque fois que cette instruction est exécutée.

    Si ton test implique la comparaison de la ligne 236 avec la ligne 200236, alors là ça va devenir plus délicat......






    Est-ce que chaque entrée va être introduite en dur dans la ram?
    D’abord le terme "entrée" ne convient pas à mon avis. Une liste n’a pas des entrées, elle a des éléments. Un tableau a des entrées. Bref...
    Ensuite introduite à quel moment ? Après un test ? Avant ? Lorsque le programme fait quoi ?
    Si tu crées un objet liste et qu’ensuite tu y enregistres des données, alors à mon avis oui il y a inscription des données dans la RAM puisqu’un objet est une zone mémoire, d’après ma compréhension des choses.






    va-t-elle stocker une partie dans un fichier temps et faire petit à petit?
    Fichier temps = fichier dans le dossier Temp ? donc sur le disque dur ?
    Je ne connais rien à la VM, que ce soit clair.
    Mais ce scénario me laisse très dubitatif. Mettre une partie des données dans le DD et laisser le reste en RAM pour traitement, c’est un boulot de système d’exploitation, qui gère une mémoire d’échange (paging file), c’est à dire un stockage de données sur DD parce qu’elles ne peuvent plus être traitées par la RAM: c’est faire fonctionner une partie du DD comme de la RAM, mais évidemment les performances ne suivent pas. C’est provisoire, quand le sytème d’exploitation ne peut plus y arriver avec la RAM seulement.

    va-t-elle "comprendre" que la liste est énorme et qu'elle a le temps d'effectuer la boucle pendant que la liste se remplit?
    C’est à dire exécuter deux choses qui sont des tâches que le programme doit faire ? Personnellement j’en doute.





    Finalement ton interrogation revient à mon avis à se demander si la VM a une activité de système d’exploitation et une activité de programme informatique.

    Je pense que non, mais je ne suis pas d’un avis compétent. J’essaie simplement d’aider la réflexion.

  4. #4
    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,
    Les résultats sont issu de calcul suivant des paramètres entrée dans une ligne de commande (donc rien n'est à priori stocké sur le disque dur, sauf peut être par pagination).
    Je relirai a tête reposé vos réponses demain, merci d'avoir porté interet en tout cas.
    “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.”

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/05/2012, 09h21
  2. Gestion de la mémoire par Qt
    Par Kaluza dans le forum Qt
    Réponses: 16
    Dernier message: 31/08/2011, 15h48
  3. Réponses: 2
    Dernier message: 12/09/2010, 20h29
  4. Gestion de la mémoire par jonas
    Par DevServlet dans le forum JOnAS
    Réponses: 2
    Dernier message: 13/01/2009, 18h01
  5. Réponses: 15
    Dernier message: 14/11/2007, 11h54

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