Salut à tous,
J'ai récemment créé un classe ( en natif ) dont l'un des membres donnée est un tableau 2d du type vector<vector<double> >. L'une des fonction membre fais l'addition membre à membre de trois de ces tableaux et là : c'est horriblement lent!
Dans mes essais, le tableau fais environ 500*400, et le traitement de celui-ci prend facilement0,2 à 0,3 secondes!!. Et il faut réitérer le calcul des centaines et des milliers de fois! ( C'est une simulation de diffusion osmotique en milieux 2d, pour chaque 'pixel' on détermine quelle quantité de 'produit' est ( ou pas ) transférée aux 'pixels' voisins )
Puisque le PC sur lequel je fais tourner ce code est capable de faire tourner un simulateur de vol en temps réel, j'imagine que le problème ne vient pas du PC mais du programmeur!
Quels sont les "trucs et astuces" pour pouvoir demander au PC de traiter plus rapidement une partie du code. J'ai lu sur certains posts des histoires de "cache" : un développer de jeux disait qu'il faut savoir l'utiliser pour que ça tourne vite, mais ça dépasse mes connaissances. Pouvez-vous me mettre sur la ou les bonnes pistes?
PS : Le PC en question est monoprocesseur, inutile donc de me parler de parallélisation![]()








!
Répondre avec citation
Partager