4D v14.3Tableaux et mémoire |
||||||||||||||||||||||||
|
4D v14.3
Tableaux et mémoire
|
Type de Tableau | Calcul de la quantité de mémoire en octets |
Booléen | (31+nombre d'éléments)/8 |
Date | (1+nombre d'éléments) * 6 |
Alpha | (1+nombre d'éléments) * (somme de la taille de chaque texte) |
Entier | (1+nombre d'éléments) * 2 |
Entier long | (1+nombre d'éléments) * 4 |
Image | (1+nombre d'éléments) * 4 + somme de la taille de chaque image |
Pointeur | (1+nombre d'éléments) * 16 |
Réel | (1+nombre d'éléments) * 8 |
Texte | (1+nombre d'éléments) * (somme de la taille de chaque texte) |
Deux dimensions | (1+nombre d'éléments) * 12 + somme de la taille de chaque tableau |
Notes :
Lorsque vous travaillez avec de très grands tableaux, la meilleure façon de gérer d'éventuels problèmes de saturation de la mémoire est d'accompagner la création de tableau d'une méthode projet APPELER SUR ERREUR. Exemple :
` Vous allez lancer une opération batch fonctionnant toute la nuit
` qui requiert la création de grands tableaux. Pour éviter
` des erreurs en pleine nuit, créez les tableaux au début de
` l'opération et testez les erreurs au même moment :
gError:=0 ` Initialisation
APPELER SUR ERREUR("GESTION ERREUR") ` Installation de la méthode de gestion d'erreurs
TABLEAU ALPHA(63;asCeTableau;50000) ` Environ 3125 Ko en mode ASCII
TABLEAU REEL(arCetAutreTableau;50000) ` 488 Ko
APPELER SUR ERREUR("") ` Il n'est plus nécessaire d'intercepter les erreurs
Si(gError=0)
` Les tableaux ont pu être créés
` poursuivons l'opération
Sinon
ALERTE("Cette opération requiert davantage de mémoire !")
Fin de si
` Dans tous les cas, nous n'avons plus besoin des tableaux
EFFACER VARIABLE(asCeTableau)
EFFACER VARIABLE(arCetAutreTableau)
La méthode projet GESTION ERREUR est la suivante :
` Méthode projet GESTION ERREUR
gError:=Error ` Retourner le code d'erreur
Produit : 4D
Thème : Tableaux
Nom intl. : Arrays and Memory
APPELER SUR ERREUR
Présentation des tableaux
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)
Hérité de : Tableaux et mémoire ( 4D v11 SQL Release 6)