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 :

[Conception] Stockage optimise


Sujet :

C++

  1. #1
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut [Conception] Stockage optimise
    Bonjour a tous.

    J'ai une question purement conceptuelle et j'aurais aime vos avis avant de me lancer.

    J'ai une unite de base, qui peut prendre trois valeurs.
    Je dois stocker ces unites de base par paquet (je dis paquet, ca sera sans doute un tableau, sauf meilleure solution) de plusieurs centaines (~400), lequel paquet doit pouvoir etre parcouru tres souvent pour tout un cas de calculs sur les valeurs presentes (recherche de patterns).

    Ces calculs vont me generer un arbre assez massif, voir tres tres massif, de paquets de centaines d'unites.

    L'arbre en question va subir un parcours sur plusieurs niveaux, chaque noeud (paquet) va subir une analyse, et le resultat va etre pondu a partir de la.

    Le calcul doit s'effectuer dans un temps tres limite.

    Voila pour le probleme.

    Ma question est la suivante:

    Quel est le meilleur moyen pour stocker les donnees ?
    Je dois prendre en consideration deux choses:
    1_ la place. (Un gros arbre dont chaque noeud est un paquet de variables a trois etats)
    2_ le temps d'acces (Le resultat doit sortir tres vite, donc il faut eviter les solutions de stockage trop sophistiquees qui ralentissent les temps d'acces).

    (haaaaa l'eternel dilemme)

    Le stockage reste neanmoins la priorite principale.
    Pour le temps d'acces la marge est plus large, et avec un bon algo les differences de temps d'acces auront moins de repercussions.

    En resume, quelles sont vos suggestion pour stocker economiquement des paquets de 400 variables a trois etats ?

    Merci d'avance.
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut,
    Peut être avec un class de gestion de paket qui contient un ensemble de buffer de taille N*400 char ou unsigned char. Ou chaque buffer est aligné en mémoire.( cela améliore le chargement de la mémoire vers le proc)
    Par exemple un buffer par niveau cela peut être pas mal.

    Tu peut peut être te servir de ça puisque tes pakets seront de taille fixe :
    http://www.boost.org/libs/pool/doc/index.html

    Tes valeurs ne seraient pas des tribool??
    http://www.boost.org/doc/html/tribool.html

    Ce sont des arbres de quel type? binaire?

  3. #3
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Salut,
    Peut être avec un class de gestion de paket qui contient un ensemble de buffer de taille N*400 char ou unsigned char. Ou chaque buffer est aligné en mémoire.( cela améliore le chargement de la mémoire vers le proc)
    Par exemple un buffer par niveau cela peut être pas mal.
    Ouaip. C'est un truc de ce genre que je cherche.

    Citation Envoyé par Mongaulois
    Tu peut peut être te servir de ça puisque tes pakets seront de taille fixe :
    http://www.boost.org/libs/pool/doc/index.html
    Je vais lire ca en detail. Ca a l'air d'etre concu pour des cas assez specifiques.
    Mais ca a l'air interessant. Il va y avoir enormement d'allocations de paquets, et aussi beaucoup de desallocations.

    Citation Envoyé par Mongaulois
    Tes valeurs ne seraient pas des tribool??
    http://www.boost.org/doc/html/tribool.html
    C'est ca. 0, 1 ou 2.

    Citation Envoyé par Mongaulois
    Ce sont des arbres de quel type? binaire?
    Niet. Des arbres a plein de branches.
    Pour un noeud d'arbre il peut y en avoir une trentaine en dessous.

    Merci pour ca je vais y jeter un oeil et des que j'aurais un peu degrossi le terrain je pense que je vais poster la premiere mouture de la structure je referais un post pour avoir un avis sur la chose.
    En attendant toutes les suggestions sont bienvenues :-D

    Merci beaucoup en tout cas.
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Jack_serious Voir le message
    Citation:

    Citation Envoyé par mongaulois
    Tu peut peut être te servir de ça puisque tes pakets seront de taille fixe :
    http://www.boost.org/libs/pool/doc/index.html
    Je vais lire ca en detail. Ca a l'air d'etre concu pour des cas assez specifiques.
    Mais ca a l'air interessant. Il va y avoir enormement d'allocations de paquets, et aussi beaucoup de desallocations.
    Ben ça ressemble tout à fait a ce que tu as besoin alors.
    En faite cela revient à alloué un seul fois la mémoire et de l'utiliser et la réutiliser.

  5. #5
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Ben ça ressemble tout à fait a ce que tu as besoin alors.
    En faite cela revient à alloué un seul fois la mémoire et de l'utiliser et la réutiliser.
    Vouaip.

    Apres il faut voir comment je vais faire le traitement...

    A mon avis vu que le temps de calcul est limite je vais pouvoir definir une taille maximale que l'arbre peut atteindre, l'allouer et ensuite pouvoir jongler avec mon arbre dans cet espace.
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Par curiosité, c'est pour quoi faire??

  7. #7
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Une IA.

    La variable a trois etats c'est une case.
    Le paquet c'est la grille.

    Et on decide de ce qui doit etre joue avec un arbre de grilles.

    C'est pour ca que le temps de reponse est limite
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/02/2007, 21h15
  2. [Conception] stockage emails en base de données - protection envoi
    Par mussara dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/01/2007, 13h21
  3. [Conception] stockage en masse d'images
    Par xenos dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/11/2006, 04h57
  4. [Conception][Stockage]Contacts de messagerie
    Par Baptiste Wicht dans le forum Général Java
    Réponses: 18
    Dernier message: 09/03/2006, 18h49
  5. [Conception][Stockage]Fichier XML, SGBD ?
    Par le Daoud dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 17/02/2005, 15h06

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