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 :

Stockage volumineux


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 29
    Points : 21
    Points
    21
    Par défaut Stockage volumineux
    Bonjour,

    Je chercher un systeme de stockage pour stocker des informations sur un plateau de 10000 par 10000. j avais creer une structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef	struct	tab_s
    {
    	int x;			// coord x de la  case
    	int y;			// coord y de la case
    	int z;			// altitude en ce point
    	int origin;		// offset de la case dont viens le fluide
    	int speed;		// La vitesse du fluide en ce point
    	int pression;	// pression en ce point
    }				tab_t;
    declarée de cette facon :

    tab_t tab[SIZE][SIZE];

    seulement voila c'estbien trop volumineux pour etre creer apparement ...donc je cherche une structure pourquoi pas dans la STD lib qui permettrait de stocker autant d informations et qui permette a la fois un acces et une modification tres rapide !

    Merci ;)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaie d'utiliser une sparse matrix. Le principe est simple: tu n'alloue que les elements qui sont vraiment utilises, et pour les autres, tu laisse des "trous".

    C'est certain que si a un moment T tu utilise toutes les cases de ta matrices, elles vont toutes etres allouees, mais dans ce cas, prevoit un upgrade de memoire vive

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Merci ! :)
    Tu saurait ou je peux trouver une doc pratique la dessus ? :)

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    L'idée de base d'une sparse matrix, c'est en fait de stocker ta structure dans une pauvre liste, et quand tu cherche la case [314][42], tu parcours la liste jusqu'à trouver l'élément correspondant.

    Après, il y a moyen d'organiser tes données de façon à transformer un algo en O(n) (avec n le nombre de cases non vides) en algorithme bien plus rapide. Je pense par exemple à des quad tree, ou à un stockage ordonné de ces éléments.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    en fait, le probleme c est que je vais avoir besoin de tout ces points pour calculer l ecoulement d un fluide qui passe partout ...
    Donc je pense que je vais utiliser un bete tableau structure [10000] qui contiendra dans chacun un autre tableau de structure de 10000... c'est pas tres propre mais j'ai pas vraiment envie de faire mon parsing avec des listes meme si ya un suepr algo de parsing derriere ;)

  6. #6
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Donc ta structure n'est pas creuse...

    Par contre, as-tu calculé les besoins mémoire demandés ? J'espère que tu bosses sur une machine en 64 bits, car une première estimation rapide, en comptant 100 octets par structure va bien au dela de la limite d'adressage des machines 32 bits.

    Maintenant, sur ce genre de calculs il y a souvent une certaine localite dont on peut tirer profit pour ne charger à un instant qu'une petite zone en mémoire, une sorte de fenêtre que l'on ballade sur la structure globale.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

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

Discussions similaires

  1. Stockage et parcours de graphes volumineux
    Par alexxxx69 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 06/01/2014, 18h05
  2. Stockage de paramètres unitaires
    Par ovh dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 07/10/2003, 09h07
  3. [Kylix] stockage d'un tableau d'octets dans interbase
    Par georges1001 dans le forum EDI
    Réponses: 1
    Dernier message: 16/09/2003, 14h14
  4. gain stockage olap
    Par colomban dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 15/05/2003, 15h24
  5. [Stockage] Image dans un fichier XML
    Par ovh dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 30/04/2003, 16h21

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