Bonjour, je souhaite représente de grands automates, graphes ou arbre en
java. Actuellement, j'ai un objet qui contient une liste successeurs
(via une hashtable) et chaque noeud est un objet, ce qui permet de
contenu la notion d'état de sortie ou d'entrée par exemple.
Le problème, c'est que quand on arrive à 1 millions de sommets, le
nombre d'objets en est un multiples, et ca prend vite des centaines de
méga de mémoire alors qu'au départ, tout cela tient dans un fichier un 2
ou 5 ou 10 Mo.
Ma question, c'est connaissez vous les librairies optimisées par une
utilisation de primitives pour représenter de tels automates, évitant de
concevoir des objets à tout va ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
KiLVaiDeN
"Pif" wrote in message news:cm8558$epu$
Bonjour, je souhaite représente de grands automates, graphes ou arbre en java. Actuellement, j'ai un objet qui contient une liste successeurs (via une hashtable) et chaque noeud est un objet, ce qui permet de contenu la notion d'état de sortie ou d'entrée par exemple.
Le problème, c'est que quand on arrive à 1 millions de sommets, le nombre d'objets en est un multiples, et ca prend vite des centaines de méga de mémoire alors qu'au départ, tout cela tient dans un fichier un 2 ou 5 ou 10 Mo.
Ma question, c'est connaissez vous les librairies optimisées par une utilisation de primitives pour représenter de tels automates, évitant de concevoir des objets à tout va ?
merci !
Bonjour,
Étant donné le nombre d'éléments que tu souhaites instancier, je te suggère de t'orienter plutôt vers des structures simples de type tableau, avec des types primitifs. Ne serait-il pas plus judicieux et efficace de travailler sur des fichiers plutôt qu'en mémoire, si ton application est vraiment si gourmande en mémoire ? je pense que ces entités que tu essaies de faire évoluer sont adaptées à une écriture séquentielle lors de la création, puis à une lecture à accès aléatoire pour la recherche, mais je ne parle pas en connaissance de cause, je n'ai d'expérience qu'avec les arbres binaires dans ce domaine.
Bon courage
K
"Pif" <pif@nospam.fr> wrote in message news:cm8558$epu$1@eerie.ema.fr...
Bonjour, je souhaite représente de grands automates, graphes ou arbre en
java. Actuellement, j'ai un objet qui contient une liste successeurs
(via une hashtable) et chaque noeud est un objet, ce qui permet de
contenu la notion d'état de sortie ou d'entrée par exemple.
Le problème, c'est que quand on arrive à 1 millions de sommets, le
nombre d'objets en est un multiples, et ca prend vite des centaines de
méga de mémoire alors qu'au départ, tout cela tient dans un fichier un 2
ou 5 ou 10 Mo.
Ma question, c'est connaissez vous les librairies optimisées par une
utilisation de primitives pour représenter de tels automates, évitant de
concevoir des objets à tout va ?
merci !
Bonjour,
Étant donné le nombre d'éléments que tu souhaites instancier, je te suggère
de t'orienter plutôt vers des structures simples de type tableau, avec des
types primitifs.
Ne serait-il pas plus judicieux et efficace de travailler sur des fichiers
plutôt
qu'en mémoire, si ton application est vraiment si gourmande en mémoire ? je
pense que ces entités que tu essaies de faire évoluer sont adaptées à une
écriture séquentielle lors de la création, puis à une lecture à accès
aléatoire pour la recherche, mais je ne parle pas en connaissance de cause,
je n'ai d'expérience qu'avec les arbres binaires dans ce domaine.
Bonjour, je souhaite représente de grands automates, graphes ou arbre en java. Actuellement, j'ai un objet qui contient une liste successeurs (via une hashtable) et chaque noeud est un objet, ce qui permet de contenu la notion d'état de sortie ou d'entrée par exemple.
Le problème, c'est que quand on arrive à 1 millions de sommets, le nombre d'objets en est un multiples, et ca prend vite des centaines de méga de mémoire alors qu'au départ, tout cela tient dans un fichier un 2 ou 5 ou 10 Mo.
Ma question, c'est connaissez vous les librairies optimisées par une utilisation de primitives pour représenter de tels automates, évitant de concevoir des objets à tout va ?
merci !
Bonjour,
Étant donné le nombre d'éléments que tu souhaites instancier, je te suggère de t'orienter plutôt vers des structures simples de type tableau, avec des types primitifs. Ne serait-il pas plus judicieux et efficace de travailler sur des fichiers plutôt qu'en mémoire, si ton application est vraiment si gourmande en mémoire ? je pense que ces entités que tu essaies de faire évoluer sont adaptées à une écriture séquentielle lors de la création, puis à une lecture à accès aléatoire pour la recherche, mais je ne parle pas en connaissance de cause, je n'ai d'expérience qu'avec les arbres binaires dans ce domaine.
Bon courage
K
Pif
ce ne sont pas des arbres binaires mais des arbres à lettres, les arbres binaires sont très simples à séquencialiser... les algorithmes sur les arbres à lettre ne peuvent pas s'appliquer de la même façon...
on peut séquentialiser, mais ca implique à la construction, les modifications sont particulièrement lourdes...
ce ne sont pas des arbres binaires mais des arbres à lettres, les arbres
binaires sont très simples à séquencialiser... les algorithmes sur les
arbres à lettre ne peuvent pas s'appliquer de la même façon...
on peut séquentialiser, mais ca implique à la construction, les
modifications sont particulièrement lourdes...
ce ne sont pas des arbres binaires mais des arbres à lettres, les arbres binaires sont très simples à séquencialiser... les algorithmes sur les arbres à lettre ne peuvent pas s'appliquer de la même façon...
on peut séquentialiser, mais ca implique à la construction, les modifications sont particulièrement lourdes...