règles d'optimisations [C] - C++ - Programmation
Marsh Posté le 23-10-2002 à 21:51:06
en effet, il y a des chances que tu doives faire de l'allocation dynamique et bosser avec des pointeurs.
Si tu ne maitrises pas bien le c, je pense qu'il vaudrait mieux t'exercer sur des choses plus simples avant
Marsh Posté le 24-10-2002 à 03:40:24
Ça va être chaud...
Y a-t'il des dimensions fixes ? Quoi que ce soit de constant ?
Combien de dimensions ?
Si ce nombre ne varie pas, définir une structure avec le pointeur de données et les dimensions, cela sera une "poignée" pour manipuler le tableau.
Éviter de copier les tableaux aux appels/retours de fonctions, raisonner plutôt en terme de fonctions traitant un tableau, ou calculant d'une/des source(s) à une cible.
Avec l'allocation dynamique, la notion de propriété est importante.
La questions des tableaux dynamiques en C revient très souvent...
http://www.isty-info.uvsq.fr/~rume [...] 7.html#q_3
http://www.developpez.net/forums/viewtopic.php?t=37054
Rechercher !
Une fois de plus, le C++ conviendrait mieux...
Marsh Posté le 23-10-2002 à 21:05:05
J'explique la situation:
J'ai fait un programme sous SCILAB(pour ceux qui ne connaissent pas c'est un environnement de programmation scientifique où le code est uniquement interprété)
Je veux transposer mon programme en C pour avoir un programme compilé et améliorer la vitesse de calcul.
Je viens de commencer et je me rends compte que la tâche est être plus hardue que je l'avais pensé, puisque sous SCILAB tout était simplifié au niveau de la gestion de mémoire (pas de déclaration de variables, allocation dynamique automatique)
Dans le programme original, des matrices (tableaux) sont passées en paramètres à des fonctions à l'intérieur d'une boucle itérative (les fonctions renvoient elles-même des tableaux dans la boucle).
La taille des tableaux peut-être variable et j'ai donc pensé utiliser l'allocation dynamique. Seulement ce choix dépasse mes compétences en terme d'optimisation de vitesse de calcul.
Je souhaiterais connaitre les choses à faire et les choses à ne pas faire pour avoir un code qui tienne la route.
Merci.