Gestion de la mémoire sous scilab

Fermé
Guizmo - 9 avril 2008 à 15:52
 adr - 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
A voir également:

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.
3
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
0