Re: Passer des arguments par référence à une fonction écrite en scilab.
binoyte
binoyte at gmail.com
Mer 6 Juin 17:14:57 CEST 2012
J'ai parcouru l'API de scilab, je ne trouve aucune trace d'une possibilité de
manipulation de variable de type structure scilab par une routine C.
http://help.scilab.org/docs/5.4.0-alpha-1/fr_FR/sci_types.html
Pour rappel, j'ai plusieurs variables de type struct scilab (une «class
bearing» en quelque sorte) : roulement1, roulement2, ...
avec par exemple :
roulement1.diametre = 3.2;
roulement1.materiau = 'acier';
roulement1.rpm = 2300;
roulement1.contrainte = 0;
...
J'aimerai pouvoir faire un roulement1->setContrainte() ou setContrainte(&
roulement1).
J'ai pas mal de variables de type struct comme dans l'exemple ci-dessus et
surtout j'appelle des fonctions d'optimisation, donc mon programme fait pas
mal de boucles.
Actuellement avec mon script 100% scilab j'ai mes 8 cœurs pris à 100% à
cause de passage d'arguments par valeur. Scilab créé un doublon des
arguments avant l'appel de la fonction, donc scilab passe son temps à
demander à l'OS de l'allocation mémoire puis à libérer la mémoire. Le temps
de calcul réel c'est peanuts à côté de ça.
Comment améliorer mon temps de calcul ? Je veux bien transposer mon code en
c mais j'ai pas trop envie de laisser tomber les structures qui sont quand
même bien pratiques. J'ai pas trop envie non plus de tout passer en c sinon
il faut que j'écrive moi-même les fonctions d'optimisation. En fait il
manque à scilab une vraie notion d'objet. Dommage.
Merci d'avance pour votre aide.
--
View this message in context: http://mailinglists.scilab.org/Passer-des-arguments-par-reference-a-une-fonction-ecrite-en-scilab-tp4024279p4024293.html
Sent from the Liste utilisateur (en français) mailing list archive at Nabble.com.
Plus d'informations sur la liste de diffusion users-fr