Posez votre question Signaler

Gestion de la mémoire sous scilab

Guizmo - Dernière réponse le 15 mai 2008 à 13:50
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
Lire la suite 

Gestion de la mémoire sous scilab »

2 réponses
Réponse
+1
moins plus
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.
adr - 15 mai 2008 à 13:50
Bonjour a vous
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
Ajouter un commentaire
Ce document intitulé « Gestion de la mémoire sous scilab » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?