En ASP classique (VBScript), si j'essaie de créer un grand tableau 2-dimensinal, j'obtiens une erreur «Mémoire insuffisante». Par exemple, ceUn grand tableau VBScript génère une erreur «Mémoire insuffisante»
DIM xxx : xxx = 10000
DIM yyy : yyy = 10000
REDIM aaa(xxx, yyy)
Response.End
yeilds cette
Microsoft VBScript runtime error '800a0007'
Out of memory
Leur autre structure de données que je peux utiliser qui fonctionne, ou une autre solution de contournement? MISE À JOUR: Suite à une étude plus approfondie de ce code hérité sur lequel je travaille, le tableau est clairsemé. En d'autres termes, seule une partie des emplacements de tableau sont nécessaires. Comme ceci:
aaa(0, 0) = 1.23
aaa(101,12) = 1.57
aaa(3020,1200) = 2.58
etc.
Je pensais à changer les choses pour stocker les valeurs comme ceci:
aaa(count) = "xxx,yyy,val"
puis à l'aide de Split() pour obtenir donné val x et y, mais qui nécessite un temps boucle à travers le tableau chaque fois que je connais x et y. Y a-t-il une meilleure solution?
Vous aurez besoin de donner au moins un exemple de ce que vous voulez faire avec cette mémoire. La structure des données dépend de l'utilisation ... –
Est-ce que vous vous attendez à ce que tous les éléments aient une valeur significative ou est-ce que la population de cette rangée serait vraiment assez éparse? – AnthonyWJones
En fait, il sera assez clairsemé. (C'est le code de quelqu'un d'autre sur lequel je travaille, BTW.) Pouvez-vous penser à un meilleur mécanisme de stockage? J'ai pensé à utiliser un tableau plat de triplets: array() = "x, y, val" et ensuite en utilisant Split() pour obtenir 'val' donné x et y, mais le processus de récupération est lent. – twh