Gestion de la mémoire sous scilab
Guizmo
-
adr -
adr -
Bonjour,
Je suis actuellement en train de programmer sous scilab et j'ai un petit probleme de gestion de memoire...
Je fais mumuse avec des matrices 5000x6 et scilab m'affiche un probleme d'erreur "stacksize" insuffisante.
Je supprime mes variables au fur et à mesure et pourtant, impossible de faire tourner mon programme correctement...
si quelqu'un a une idée ...Merci par avance
Je suis actuellement en train de programmer sous scilab et j'ai un petit probleme de gestion de memoire...
Je fais mumuse avec des matrices 5000x6 et scilab m'affiche un probleme d'erreur "stacksize" insuffisante.
Je supprime mes variables au fur et à mesure et pourtant, impossible de faire tourner mon programme correctement...
si quelqu'un a une idée ...Merci par avance
A voir également:
- Gestion de la mémoire sous scilab
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Gestion de fichiers - Télécharger - Gestion de fichiers
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
1 réponse
utilise la fonction stacksize pour augmenter la taille de la pile :
-->M=rand(1,10^7);//pas assez de place pour M
!--error 17
rand: stack size exceeded (Use stacksize function to increase it)
-->stacksize(10^8)//on augmente la taille de la pile
-->M=rand(1,10^7);//maintenant il y a assez de place
remarque : la mémoire de scilab est indexée par un pointeur qui ne peut prendre que 2^31 valeurs (grosso modo) on ne peut donc pas augmenter la taille de cette pile au delà de cette limite :
-->stacksize(10^9)
stacksize requested size is too big (max < 268435455)
!--error 112
Cannot allocate more memory
normalement cette limitation devrait disparaitre dans les versions futures de scilab (5.x ou 6.x au plus tard).
Philippe.
-->M=rand(1,10^7);//pas assez de place pour M
!--error 17
rand: stack size exceeded (Use stacksize function to increase it)
-->stacksize(10^8)//on augmente la taille de la pile
-->M=rand(1,10^7);//maintenant il y a assez de place
remarque : la mémoire de scilab est indexée par un pointeur qui ne peut prendre que 2^31 valeurs (grosso modo) on ne peut donc pas augmenter la taille de cette pile au delà de cette limite :
-->stacksize(10^9)
stacksize requested size is too big (max < 268435455)
!--error 112
Cannot allocate more memory
normalement cette limitation devrait disparaitre dans les versions futures de scilab (5.x ou 6.x au plus tard).
Philippe.
Il existe un autre moyen de se debaraser des problèmes de taille de pile
Il faut ouvrir le fichier scilab.star puis modifier le paramètre defaultstacksize=5000000
il est je crois posible de l'augmenter jusqu'a 200 million au lieu de 5 par default
voila
adri