Mon code nécessite de créer plusieurs tableaux indexés de 1 à 10 000 000. En revanche ces derniers ne sont pas nécessairement remplis (ie de larges parties du tableau entre les indices 1 et 10 000 000 peuvent être vides).
L'idée est de gagner du temps en utilisant de si gros tableaux puisque je peux directement pointer sur les variables qui m'intéressent. J'ai pensé à créer des tableaux à double entrée ou deux variables séparées pour indexer sans utiliser trop de mémoire. Mon souci est que retrouver alors l'entrée qui m'intéresse nécessite un boucle qui seule, ne coute pas trop cher en temps. Mais dès lors qu'il s'agit de retrouver plusieurs entrées ça devient très looooong...
L'idée initiale est : dim pouet(10000000) as string
que je remplace par pouet1(10000), pouet2(10000) as string où pouet1 contiendrait mon index et pouet2 la valeur correspondante
La première méthode est efficace mais mon code étant basé sur plusieurs variables de cette taille et des entrées sorties sur fichiers texte imposant je me retrouve avec une erreur d'exécution : "Mémoire inssuffisante"...
La seconde est beaucoup trop longue...
Je cherche donc une solution efficace...
En vous remerciant...
Message édité par shossette le 30-05-2008 à 12:46:42
Marsh Posté le 30-05-2008 à 11:51:21
Bonjour,
Je suis face à un problème de... taille.
Mon code nécessite de créer plusieurs tableaux indexés de 1 à 10 000 000. En revanche ces derniers ne sont pas nécessairement remplis (ie de larges parties du tableau entre les indices 1 et 10 000 000 peuvent être vides).
L'idée est de gagner du temps en utilisant de si gros tableaux puisque je peux directement pointer sur les variables qui m'intéressent. J'ai pensé à créer des tableaux à double entrée ou deux variables séparées pour indexer sans utiliser trop de mémoire. Mon souci est que retrouver alors l'entrée qui m'intéresse nécessite un boucle qui seule, ne coute pas trop cher en temps. Mais dès lors qu'il s'agit de retrouver plusieurs entrées ça devient très looooong...
L'idée initiale est :
dim pouet(10000000) as string
que je remplace par
pouet1(10000), pouet2(10000) as string
où pouet1 contiendrait mon index et pouet2 la valeur correspondante
La première méthode est efficace mais mon code étant basé sur plusieurs variables de cette taille et des entrées sorties sur fichiers texte imposant je me retrouve avec une erreur d'exécution : "Mémoire inssuffisante"...
La seconde est beaucoup trop longue...
Je cherche donc une solution efficace...
En vous remerciant...
Message édité par shossette le 30-05-2008 à 12:46:42